• ベストアンサー

Excelの列の抜き出しについて。

添付画像のような表があるとします。 画像のようにJ列に同行のB~G列のセル値を取り出したいのですが、その様なことはできますでしょうか。 同行に抜き出す対象のセルが2つある場合は、1番左側のセル値を抜き出すようにします。 作業列の使用は可で、文字は全角とします。 もし抜き出す方法があるのならばアドバイスよろしくお願いしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 >列をずらして使用する場合、「COLUMN(A1:F1)」この部分をずらすとエラーになるので、ここだけは絶対参照にしてしようしたほうがいいのでしょうか。 画像の配置では行方向にオートフィルさせますので、数式内の >COLUMN(A1:F1) 部分に関しては絶対参照させる必要はありません。 (列方向にオートフィルでコピーさせる場合は絶対参照が必要になります) ※ 注意点 ※  この >COLUMN(A1:F1) としているのは、INDEX関数で範囲指定した列が B~G列(6列)になっています。 仮にC列に最初の出現データがあるとした場合 C列の列番号「3」ではなく、範囲指定した何番目の列を返したいか? というコトになりますので、結果としては「2」が欲しい数値となります。 そのために必ず列番号「1」のA列からINDEX関数で範囲指定した列数分だけの列とします。 いくらB~G列の範囲指定だとしても、 >COLUMN(B1:G1) としてはいけません。 こうしてしまうと返す結果が「1」ずれてしまいます。 行番号に関しては何行目でも構いません >COLUMN(A100:F100) としても同じ結果になるはずです。 手入力していますので、極力簡単に入力するためにあのように簡単な数値にしているだけです。 結論として参照範囲の列がずれたとしても 必ず列番号「1」のA列から範囲指定した列数分だけの列番号までにする! というコトになります。m(_ _)m

mzakom
質問者

お礼

なるほど。列番号を使ったやり方とても勉強になりました。 助かりました。ありがとうございましたm(_ _)m

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 画像の配置だとJ3セルに =IF(COUNTA(B3:G3),INDEX(B3:G3,,MIN(IF(B3:G3<>"",COLUMN(A1:F1)))),"") (配列数式です) としてオートフィルで下へコピーしてみてください。m(_ _)m

mzakom
質問者

お礼

こんばんは! tom04さんには毎回お世話になりますm(_ _)m 確認したところ思い通りのことができたのですが、列をずらして使用する場合、「COLUMN(A1:F1)」この部分をずらすとエラーになるので、ここだけは絶対参照にしてしようしたほうがいいのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A