• ベストアンサー

エクセル 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/6244)
回答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

  • エクセルのVLOOKUP関数に似た操作について

    VLOOKUP関数を使用すると、ある列のデータを検索してほかの列のデータを表示するということができると思いますが... この検索する列を2列にできませんか? 例えば、A列には上から 0,0,1,1 B列には上から 0,1,0,1 C列には上から A,B,C,D と入力されていたとします。そして、適当な隣り合ったセルに「0」,「1」 と入力した時に他のセルに、自動的に「B」と表示させたいです。 どなたか教えてください。よろしくお願いします。

  • EXCEL VLOOKUPで含む検索

    _|    A    |  B   | C  | | Z | 1 |赤いイチゴ |みかん |\30 | |   | 2 |        |リンゴ  |\50 | |   | 3 |        |イチゴ  |\80 | |   | A1に検索値(例:赤いイチゴ)を入力すると、検索範囲(B:C列)のっている単語が含まれていれば値段をZ1に表示したいのですが、うまくいきません。 検索値が一致ならば、=VLOOKUP(A1,$B:$C,1,FALSE)だとおもうのですが、=VLOOKUP("*"&A1&"*",$B:$C,1,FALSE)だと#N/Aエラーが出ます。 どなたか、知恵をお貸しください。

  • Excel 複数の項目合致するデータを抽出したい

    是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。

  • vlookup複数列検索

    vlookupの複数列検索でどういった計算式がいいか教えてください。  A列 B列   C列  D列   2/1 100   6/1 200 とデータがあったとして 初めにA列の2行目のデータをvlookupで計算式をかけ A列になかったら C列の2行目を検索するようにしたいのですが 本来だったらC・D列をA・B列にもっていけばいいのでしょうが、私のやりたいこととして このような2重条件の計算式に持っていきたいです。 vlookupの複数条件は色々とやり方があるみたいで、どれが適してるのか 分からず困っています。 どなたかご存知の方教えてください。 よろしくお願いします。

  • エクセルのVLOOKUPで「検索値」を複数設定したいのですが。

    エクセルのVLOOKUPで「検索値」を複数設定したいのですが。 例えば A列 都道府県名 B列 市区町村名 C列 町名 D列 番地 E列 人口 F列 面積 という表Aがあります。 自分の持っている都道府県名、市区町村名、町名リスト(表Aの中から数個だけピックアップしたもの)に人口を(表Aから引っ張ってきて)投入したいのですが、町名だけでVLOOKUPを使うと、複数個の同じ町名があるためにうまく行きません。 そこでA、B列の都道府県名、市区町村名も「検索値」として含めて、3列とも合致するものを引っ張ってきたいのですが、どうしたらよいのでしょうか?

  • excelのVLOOKUPで検索値を2つにできますか?

    excelのVLOOKUPで検索値を2つにしたいです 私の知っているVLOOKだと下記のことは対応できます 例えば、A列に会社名、B列に住所、C列に電話番号 とあった場合 「住所が検索値と同一なら電話番号を表示しなさい」という指示は出せます そこで質問です 「会社名と住所が検索値と同一なら電話番号を表示しなさい」 というような、複数の検索値を持つ事はできないのでしょうか? 参考になるURLなどでも結構ですので、ご存知の方よろしくお願いいたします

  • VLOOKUP関数について

    VLOOKUP関数を使用して、大項目あ~うに該当する小項目a~dを拾い出します。 [Sheet1]  A B C D 1 あ a  c 2 い b 3 う d [Sheet2]  A B C 1 い  b Sheet1に大項目と小項目のデータを、Sheet2を検索シートとします。 A1には検索する大項目を、B1にはVLOOKUP関数を使って小項目を拾い出します。このときに、B項目がbというのは単純に拾えるのですが、小項目が2つ以上ある場合が拾い出せません。 2つ以上ある場合はC1、D1とに表示させたいのですが、どんな関数を使えばいいのか分かりません。 マクロを使うのでしょうか? 教えてください。

  • エクセルのVLOOKUPの検索について

    エクセルのVLOOKUPについて質問があります。 他の質問をみているのですがこのような事象になったのが見当たりません。 だれか知っていましたら教えてください。 ・VLOOKUPにて検索対象にDECTOHEX(10進16進変換で4文字表示)したものを使用したときサーチテーブルを A列    B列 8140     ←実際はスペース 824F     0 8250     1 8251     2 8252     3 8253     4 8254     5 として8140が検索対象になると 結果がスペースではなく 0 が変えります 以下の検索の場合は,正常におこなれます。 (同じ式をコピーして使用) A列    B列 000F      ←実際はスペース 0033    0 00CC    1 0356    2 03A9    3 0505    4 05FA    5 000Fを検索すると正常にスペースで帰ります。 VLOOKUPの条件はFALSEにしているので見つからなければ N/Aが変えればよいのになぜでしょうか? ちなみに何かしらで824Fを検索したのだと思い その値を0→AAにしても 結果は0のままでした。 だれか解決する方法を知っていましたら御教示のほどよろしく御願いします。

  • VLOOKUPの使い方

    更なる質問なのですが、すでにD列に表示してあるコードを使って、このコードが意味する文字列をVLOOKUPなどを使って、E列に表示させることは可能でしょうか。 A    B    C   D   E 123  大阪  日本  A04  きゅうり 126  台北  台湾  B05  なす 125  東京  日本  A05  とまと と表示させたいのです。 データは、別のシステムで落とし込んできたものです。 すでにあるABCD列のデータに、E列を挿入して表示させる。。としたいのですが、自分でVLOOKUPを使って作ったところ、違ったものが表示されるのです。 例)A04 とまと   B05 キャベツ となってしまいます。 VLOOKUP自体、使えないのでしょうか。 よろしくお願いいたします。

  • エクセル2003VLOOKUP 検索値が数式の場合

    検索値が数式(表示形式がパーセンテージ)になっているものを IFとVlookupで処理しようとしたところ、エラーがでてしまいます。(#N/A) 例:C2が検索値。結果下記式の結果をD2に表示。100%以上の場合はすべて100%と表示。 A2  B2  C2      D2 50  40  B2/A2(%で表示) =IF(C2>=100%,100%,VLOOKUP(C2,他のシートの表の範囲,2,FALSE)) 100%の部分については問題なく表示されますが、 VLOOKUPで検索するデータが(100%以下)が表示されません。 検索値(C2)を値で貼り付けすると、問題なく表示されますが、 数式はそのままのこしてD2に表示することは可能なのでしょうか。 ちなみにD2も%表示です。 どなたかお分かりの方がいらっしゃれば教えていただけますと幸いです!

専門家に質問してみよう