• ベストアンサー

エクセル VLOOKUPでの複数のデータ抽出

「表の左端列」で検索する行によって、隣のセルに取り出せるデータの範囲を指定する、 ということは可能でしょうか。 例えば、左端でAを選んだ場合は表のこの範囲から次を選ぶ、 Bを選んだ場合は同じ表の違う範囲から選ぶ、といったようなことです。 普通のVLOOKUPでは1対1、左端で行を選ぶとその行の何列目のデータを取り出すか、 といったことしか出来ないので、それを複数の列の中からさらに選ぶことが出来るように 設定変更したいです。 ご教示よろしくお願いいたします。

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

  • ベストアンサー
  • silverfd
  • ベストアンサー率57% (204/356)
回答No.2

>普通のVLOOKUPでは1対1、左端で行を選ぶとその行の何列目のデータを取り出すか、 その「何列目」を変数にしてしまったらいいんじゃないですかね? データベースにおいて、 X1と同一の見出し(A列)の右側A~E列のうち、 Y1にある「番目」を =VLookup(X1,A1:E10,Y1,0)とか。 X1に入力されている見出しに合致するデータのうち、 Y1列目にある数値が左から該当するデータを持ってこれます。 少なくともVLookupの抽出対象が5個になります。 こういうのじゃなかったですかねw

fiveoclock
質問者

お礼

なるほど....早速のご回答、ありがとうございます。 また、言葉足らずでわかりにくくて申し訳ありません。 いただいたアドバイスを参考にして、 自分なりにまたトライしてみます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

A1にAかBが入るとして,たとえば =VLOOKUP(A1,範囲,IF(A1="A",5,7),FALSE) などのようにして「Aなら範囲の5列目,そうでないなら範囲の7列目を取ってくる」みたいな事は勿論簡単にできます。 それとも >取り出せるデータの範囲を指定する、 =OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!A:A,0)-1,IF(A1="A",3,5),1,3) などのような数式を組んで,A1がAなら対象範囲のC列から,そうでないならE列から,横に3セル分のデータ範囲を計算で持ってこさせるのような事だって,そういうことがしたいというのなら出来ます。 こういった方向で何か答えが欲しいというのなら,一体どこ番地の結果をどこ番地のセルにどういう具合に計算結果として表示したいのか,もっと「目に見える姿で」ヤリタイ事をしっかり言葉に書いて,新しいご相談として投稿し直してください。

fiveoclock
質問者

お礼

ご回答ありがとうございます。 早速やってみます。