• ベストアンサー

エクセル 2つの検索項目があるVlookup

Vlookupの場合、1つの検索項目ですが 例えば A列が検索データに合致、そのうえ、B;列も別の検索データに合致した場合、 C列のデータを表示させるみたいな手法はありますか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

A列の検索値がF1セルに、B列の検索値がG1セルにあり、C列のデータが数値(日付などを含む)データなら、Excel2007以降のバージョンをご使用なら以下のような関数で表示できます(該当データが複数ない場合)。 =SUMIFS($C$2:$C$100,$A$2:$A$100,F1,$B$2:$B$100,G1) 文字列の場合は以下のような関数で表示できます(A列とB列を連結した文字列に重複が無い場合)。 =INDEX(C:C,MIN(INDEX((F1&G1<>$A$2:$A$100&$B$2:$B$100)*10000+ROW($A$2:$A$100),)))&"" #上記の回答は、比較的簡単に表示できる関数の一例を示したものですが、実際のデータによって使用する数式を変更する必要があります。 また、エクセルのバージョンによって使用できる関数が異なりますので、ご質問の際には元データの種類を含めて、ご使用のエクセルのバージョンを必ず明記するようにしましょう。

pennano
質問者

お礼

ありがとうございます、残念ながら2003でした、 このさいせっかくなので2007以降にアップグレードしてやって見たいと思います。 ありがとうございました

その他の回答 (2)

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

indirect と vlookupとを組み合わせます http://pc.nikkeibp.co.jp/pc21/tech/excel36/27/ そうでなければ、条件1を縦に、条件2を横に検索して交点の値を返します。 http://pc.nikkeibp.co.jp/pc21/tech/excel36/26/

pennano
質問者

お礼

indilectをはじめて知りました、なんとかこれで工夫してます ありがとうございました。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

素ではありません。 MATCH関数を組み合わせてやってみましょう。 …ごめんなさい。使い方のアドバイスをする時間が無くなりましたw

pennano
質問者

お礼

MATCH関数と他の方の回答のINDILECTの組み合わせでやってみようと思います、 これで無理なら2007へバージョンアップします ありがとうございました

関連するQ&A