Excelで複数条件での検索についての質問

このQ&Aのポイント
  • Excelで複数条件での検索について質問があります。具体的には、2つのシートに産地と品物名が記載されており、それぞれの産地コードと品物コードを表示させたいと思っています。
  • 産地コードの表示はVLOOKUP関数で簡単にできましたが、品物名が重複する場合、合致する品物コードを表示させる方法がわかりません。どのようにするとよいでしょうか?
  • Excelで複数条件での検索を行っている際に、品物名が重複する場合に合致する品物コードを表示させる方法が知りたいです。産地コードの表示はVLOOKUP関数で実現できましたが、品物名の重複に悩んでいます。
回答を見る
  • ベストアンサー

Excel 複数条件での検索

Excelで下記の様な表を作りました。 ◆Sheet1〔品物リスト〕500件くらいのリストです -------------------------------------------------- |A     |B      |C       |D     | -------------------------------------------------- 1|産地  |産地コード|品物名 |品物コード| -------------------------------------------------- 2|新潟県 |1111   |お米  |222    | -------------------------------------------------- 3|山形県 |2222   |お米  |555    | -------------------------------------------------- ◆Sheet2 ----------------------------------------------------- |A     |B      |C       |D     | ----------------------------------------------------- 1|産地  |産地コード|品物名 |品物コード| ----------------------------------------------------- 2|山形県 |2222   |お米  |※555   | ----------------------------------------------------- Sheet2に産地と品物名を入力し、産地コードと品物コードを 表示させようと思っています。 産地コードの表示はVLOOKUPで出来たのですが、品物名は重複 する場合があります。産地と品物名が合致した品物コードを ※のセルに表示させるには、どうしたら良いでしょうか?

noname#110648
noname#110648

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

シート2のD2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",SUMPRODUCT((Sheet1!$A$2:$A$1000=A2)*(Sheet1!$C$2:$C$1000=C2)*Sheet1!$D$2:$D$1000))

noname#110648
質問者

お礼

早々の回答有り難うございます。 教えて頂いた方法で、上手く表示させる事が出来ました。 大変助かりました。有り難うございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 フィルタオプションの設定を利用する方法ですが如何でしょうか。 (1)Sheet2のA1に「産地」、B1に「品物名」、A2に山形県、B2に「お米」を入力 (2)Sheet2でデータ→フィルタ→フィルタオプションの設定   指定した範囲を選択、リスト範囲欄にSheet1!$A:$D、検索条件欄に$A$1:$B$2、抽出欄に$A$4→OK   この(2)操作をマクロ記録でショートカット登録しておけば操作が楽になります。 ○関連詳細のURL添付していますので参考にして下さい。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm
noname#110648
質問者

お礼

アドバイス有り難うございました。 紹介して頂いたサイトも拝見させて頂きます。

関連するQ&A

  • Excel 複数条件での検索 SUMPRODUCTの上限?

    前回の内容を応用し、今度は下記のような表を作成しました。 http://oshiete1.goo.ne.jp/qa5454467.html ◆Bankリスト 4500件くらいのリストです -------------------------------------------------- |A     |B      |C       |D     | -------------------------------------------------- 1|銀行  |銀行コード|支店名 |支店コード| -------------------------------------------------- 2|ああ銀行 |1111   |新宿支店  |222    | -------------------------------------------------- 3|いい銀行 |2222   |新宿支店  |555    | -------------------------------------------------- ◆一覧  1000件くらいのリストです ----------------------------------------------------- |A     |B      |C       |D     | ----------------------------------------------------- 1|銀行  |銀行コード|支店名 |支店コード| ----------------------------------------------------- 2|いい銀行 |2222   |新宿支店 |※555   | ----------------------------------------------------- 銀行と支店名が合致した支店コードを、一覧の※セルに表示させるあたり、 D2のセルに教えて頂いた計算式を下記のように入力しました。 =IF(A2="","",SUMPRODUCT((Bankリスト!$A$2:$A$4500=A2)*(Bankリスト!$C$2:$C$4500=C2)*Bankリスト!$D$2:$D$4500)) すると「#VALUE!」とエラーが出てしまいました。 Bankリストが多すぎるのかな?と思い試しに【4500】の範囲を【2000】に打ち変えたら表示されました。 単にBankリストの件数が多すぎる(上限を超えた?)という事なのでしょうか? ご回答、宜しくお願い致します。

  • エクセルVBAで検索の早い方法

    こんにちは。 エクセルのVBAでお教え下さい。 シート1のA列に下記の様なデータがあって ABCDは業者コードだとおもって下さい。 A A B C D D 違うシート2に下記のように業者コードの マスターがあるとします。 A D シート1の全てのA列がシート2のマスターと 合致するかどうかで、合致しなかった場合にエラーを 表示するようなことをしたい(この場合、BCがエラー)のですが、どういうプログラムにするのが処理的に早いでしょうか? ぐるぐる順番に回す方法以外になにか良い手は ありますでしょうか? お教え下さい。よろしくお願いします。

  • エクセル複数検索で

    A、B、C列を検索してD列のデータを求める式を作成しました。 データリスト   A     B   C   D   1 F2    M2  55  100 2 F21   M3  55  110 3 S22   M2  60  105 4 S2    M2  65  115 求める式(10行目のA、B、Cに文字及び数値を入力し、その値に合致するDの値をD10に求める) 式:INDEX(D1:D4,MATCH(A10&"!"&B10&"!"&C10,A1:A4&"!"&B1:B4&"!"&C1:C4,)) ここで質問ですがA10のセルにはフルネームで入力してデータ行のA1~A4の値は最初の文字(F又はS)だけ認識させたいのですがその方法が分かりません。 質問がわかりにくいかもしれませんがA1~A4にはForSのみ記入しA10セルにはF2、S22などと表示したいのです。よろしくお願い致します。

  • エクセル 複数条件で検索する数式を教えてください。

    社員の作業時間入力シートが2つあり、それぞれに入力しているため、入力ミスによる誤差が生じます。それをチェックしています。 検索条件が複数になる場合の計算式を教えてください。 [sheet1]   A   B   C   D  E 1 社員CD 日付  作業時間1 作業時間2  誤差 2 1000 2008/1/1   3.5  ここに数式   =C2-D2 3 1000 2008/1/2  2.5    数式    =C3-D3 4 1001 2008/1/1   5.0    数式    =C4-D4 [sheet2]   A   B   C    1 社員CD 日付  作業時間2 2 1000 2008/1/1  3.0 3 1000 2008/1/3   1.5 4 1001 2008/1/1  5.5 sheet1のD列にsheet2のC列を表示させたいのですが、 条件はA列とB列が一致するものになります。 A・B列が文字列ではないため、1列挿入して=A2&B2列を作成することができませんでした。 D列に数式をいれる事で一発で表示させる方法を教えてください。

  • 【Excel】 複数条件で抽出する。

    sheet1 A1に銀行名(漢字)、 B1に支店名(漢字)を入力すると、 C1に銀行コード、D1に支店コードが表示されるようにしたいのです。 sheet2 に銀行名と銀行コードの入った表があります。 sheet3には銀行コードと支店名、支店コードの入った表があります。 C1の銀行コードはVLOOKUPで拾うことができたのですが、 D1の支店コードは、銀行コードが一致していているものの中から支店名の一致している物を探すことになるので、この式が分かりません。 どのような関数で支店コードを表示できるでしょうか。

  • エクセルで条件に合った複数のレコードを各セルに表示したい

    「シート1」 日付     名前    データ1   データ2 2009/09/01   Aさん    1      A 2009/09/01   Bさん    2      A 2009/09/01   Cさん    1      B 2009/09/01   Dさん    2      B 2009/09/02   Aさん    1      A 2009/09/02   Bさん    2      A 2009/09/02   Cさん    1      B 2009/09/02   Dさん    2      B シート1のデータを 「シート2」に同一日付のレコードをセルへ出力したのですが・・ 「シート2」 2009/09/01   Aさん    1      A         Bさん    2      A         Cさん    1      B         Dさん    2      B 又は 「シート2」 2009/09/02   Aさん    1      A         Bさん    2      A         Cさん    1      B         Dさん    2      B の様に日付を入力すると 名前・データ1・データ2が対象日のものだけ表示したのですが、ご存知の方がいましたら教えてください。 ちなみにリストを使わずに関数で処理したのですが、・・・

  • エクセルVBAで複数の条件を満たす検索方法

    エクセルのVBAを使ってデータ検索を行うプログラムを作っています "Sheet2"は下記のように、A列に生年月日、B列に住所、C列に電話番号、D列にメールアドレスが入力されています        【Sheet2】   生年月日  住所    電話番号  メールアドレス     A      B       C        D 1 1999/9/10 東京都○○ 11-111-1111 aa@goo.co.jp 2 2003/2/26 大阪府○○ 22-222-2222 bb@goo.co.jp 3 1985/6/22 福岡県○○ 33-333-3333 cc@goo.co.jp 4 1995/4/11 愛知県○○ 44-444-4444 dd@goo.co.jp "Sheet1"のA1に生年月日、A2に住所、A3に電話番号を入力し、"Sheet2"のデータと照合して、3つの値が合致した行のD列のメールアドレスを"Sheet1"のB1に返したいと思います 上記の表だと、"Sheet1"のA1に1985/6/22、A2に福岡県○○、A3に33-333-3333と入力されている場合、B1にcc@goo.co.jpの値を返すようにしたいのです。 findを使って生年月日、住所、電話番号を検索し、行番号を取得して、3つの行番号が同じならその行番号のD列の値を返すというような方法で考えていたのですが、エラーが回避できずに困っています。 生年月日が同じ人がいたり、夫婦や親子などは住所と電話番号が同じといった場合があり、上手く検索できません。  エラー回避の方法、もしくは他のやり方でも構いませんので どなたかご教授願えないでしょうか? よろしくお願いします。

  • エクセルで 複数のデータを検索して複数表示させたいのですが・・・。

    エクセルで在庫の場所がチェックできる下記のような物を作りたいと考えています。 在庫リスト シート1       A    B   C   1行目  商品名   色   場所 2行目  あいう   赤   A1 3行目  かきく   黄   A2 4行目  さしす   青   A3 5行目  あいう   黄   A4 6行目  かきく   青   A5 ・ ・ ・ ・ 在庫リスト シート2       A    B   C   1行目  商品名   色   場所 2行目  あいう   青   B1 3行目  かきく   緑   B2 4行目  さしす   桃   B3 5行目  あいう   茶   B4 6行目  かきく   桃   B5 ・ ・ ・ ・ 上のような表を作成し、別のシート(シート3)で 検索名 あいう と打ち込むと   赤  A1  黄  A4  青  B1  茶  B4 という具合に同じ商品を検索し、色と場所を全て表示させるようなものをエクセルで作成できたらと思っています。可能でしょうか?また、可能であればどのような関数を使って作成したらよいのかを教えていただきたいです。vlookupが使えるかと思ったのですが、それだと一番上のデータ(この例でいけば 赤 A1)のみの表示になってしまい、使えませんでした。 あと、欲を言えば、 商品名を全て打ち込みをしなくても、一部のみ(この例でいけば 「あいう」 ではなくて 「あい」のみ)を打ち込むだけでその字を含む商品名を検索し、表示してくれるような表記の仕方があるともっとありがたいです。在庫リストは在庫の場所ごとに複数のシートに分かれています。 よろしくお願いします。

  • エクセル 複数条件でのLOOKUP

    エクセルで、特定のキーで別表を参照してそこから値を表示するにはVLOOKUPを使用すると思いますが、複数条件でLOOKUPする事は可能でしょうか。 例えば、 シート1のA列とD列 シート2のB列とF列  2つの条件に合う(シート1A列=シート2B列 and シート1D列=シート2F列)レコードをシート2のG列からシート1のE列に表示したいと言う場合です。  シート1   A B C D E           1 01 ** ** 01       2 01 ** ** 02 うう       3 05 ** ** 01 ああ          ↑  シート2   A B C D E F G          1 ** 08 ** ** ** 01 いい       2 ** 01 ** ** ** 02 うう       3 ** 05 ** ** ** 01 ああ 判りにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • エクセルで検索・表示の方法を教えてください。

    Sheet1のA列にそれぞれの名前を入力し   A 1 aさん 2 bさん 3 cさん Sheet2に各人のリスト   A   B   C 1      身長 体重 2 aさん  160  65 3 bさん  170  70 4 cさん  155  60 と記入していきリストを作成しておき それをSheet1のD列 E列に aさんの名前をクリックすると aさんの     身長  160           体重  65 などリストを表示させたいのですが、 Sheet1のA列の名前表示は動かないで bさんをクリックするとE列の結果だけ変わるように したいのですが。関数がわかりません。 教えてください。

専門家に質問してみよう