• 締切済み

VLOOKUPのような検索で複数ヒットしたら全て抽出したい

VLOOKUPで検索すると検索値シート(2)【B】123で行い、検索範囲をシート(1)【B】列、ヒットした左列ABCをシート(2)の【C】に表示するが一般的てきですが、検索範囲シート(1)【B】列で1000種類ある中で123が3個、456が4個その後も重複がつづき、更にヒットした左列が全て違っていたらどのようにして、シート(2)【C】に検索結果全て表示させたらよいでしょうか。 また、シート(2)【B】列1000以上全て検索値としたいのですが、どうかよろしくお願いします。 シート(1) 【A】  【B】  【C】 ABC ....123 DEF ...456 GHI ....123 JKL ....456 MNO ..789 シート(2) 【A】 【B】 【C】    .. 123 ... ??? ......... 456 ......... 789 方法が分からず困っています。 お手数ですが、どうかお教えください。

みんなの回答

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

一例です。 C1に設定、縦横にコピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(Sheet1!$B:$B,$B1)>COLUMN(A1)-1,INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$B$1:$B$2000=$B1,ROW(Sheet1!$A$1:$A$2000),99999),COLUMN(A1))),"")

mikireo
質問者

お礼

ありがとうございました。思う通りできました。

mikireo
質問者

補足

ありがとうございました。思う通りできました。 最後にもう一つお願いがあるのですが、検索範囲【C】列も追加したい場合はどのようにしたらよいでしょうか。 すみませんがもう一度お願いします。

関連するQ&A

  • 複数のシートから検索抽出

    検索値シート(4)【B】123で行い、検索範囲をシート(1)、(2)、(3)のうちの一つの【B】列でヒットした【A】列ABCをシート(4)の【C】に検索結果を表示させたいのですがどのようにしたらよいでしょうか。 また、シート(4)【B】列1000以上全て検索値としたいのですが、どうかよろしくお願いします。 シート(1)~(3) 【A】  【B】  【C】 ABC ....123 DEF ...456 GHI ....789 JKL ....795 MNO ..816 シート(4) 【A】 【B】 【C】    .. 123 ... ??? ......... 456 ......... 789 方法が分からず困っています。 お手数ですが、どうかお教えください。

  • データをブロックごとに並べ替えるスクリプト

    データをブロックごとに移動して並べ替えたいのですが、 うまくいくスクリプトが書けず困っています。 APR_A----- abc 1 def 2 APR_B----- abc 3 def 4 APR_C----- abc 5 def 6 APR_A----- ghi 1 jkl 2 mno 3 APR_B----- ghi 4 jkl 5 mno 6 APR_C----- ghi 7 jkl 8 mno 9 のようなフォーマットのデータがあります。 これを以下のようにフォーマットを変えたいのですが、 awkを使ってどのようにスクリプトを書いたらよいでしょうか。 元データの中で、区切りの行は常にAPR_で始まっています。 APR_で始まる行に来たら次の列に移って2列目のみprint というのを繰り返し、APR_Aに戻ってきたら、 1列目(abc,defなど)、2列目ともprintして同様に繰り返す。 各ブロックの行数はまちまちです。(最初のブロックのように2行のブロックもあれば2番目のブロックのように3行のもあります) rowtitle APR_A APR_B APR_C abc 1 3 5 def 2 4 6 ghi 1 4 7 jkl 2 5 8 mno 3 6 9 分かりにくい文章ですが、理解していただけることを願っています。 よろしくお願いします。

  • エクセル セルの並べ換え方法について教えて下さい

    縦 A列とB列に入力してある内容を縦一列にまとめて上下二段にする方法、 どなたか教えて下さい! A列   B列 abc def ghi jkl    mno pqr これを A列 abc def ghi jkl mno pqr という様にしたいのです。   

  • 秀丸の検索・置換の正規表現の最短一致の挙動が変です

    秀丸の検索または置換の正規表現の 最短一致での挙動ですが、 /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz の先頭にカーソルを置いた状態で、 (質問1) 正規表現のチェックボックスをチェックして /.*$ で検索すると /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されると思うのですが 実際には /def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます。 なぜでしょうか。 (/abc/.*$とするとカーソルがある /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz ではなく次の行以降の /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます?) (質問2) 正規表現のチェックボックスをチェックして /.*?$ で検索すると最短一致となるため /uvw.xyz が検索されると思うのですが 実際には /def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます。 なぜでしょうか。 (なお、/[^/]*$では/uvw.xyzが検索されます)

  • excelの重複データの削除方法。

    excel2003で重複する値を自動的に削除する方法を探しています。 現在、以下のような手順で作業をしています。     A   B   C 1 ○○○ 100 ABC 2 ▼▼▼ 200 DEF 3 ◇◇◇ 300 GHI 4 ■■■ 400 JKL 5 △△△ 500 MNO ↑の元データに      A   B   C 1 ○○● 100 ABC 2 ◇◆◇ 300 GHI ↑のデータを追加(貼り付け)して並び替えをすると      A   B   C 1 ○○○ 100 ABC 2 ○○● 100 ABC 3 ▼▼▼ 200 DEF 4 ◇◇◇ 300 GHI 5 ◇◆◇ 300 GHI 6 ■■■ 400 JKL 7 △△△ 500 MNO というデータが出来るとします。 「C列の値を基準」として、重複している箇所を検出・削除し (上の例で言えば、1・2・4・5の行。)      A   B   C 1 ▼▼▼ 200 DEF 2 ■■■ 400 JKL 3 △△△ 500 MNO というデータにしたいと考えております。 重複した値のどちらか一方を残す、という方法ではなく、 重複した値の全てを削除する、という方法が解りません。 手作業で1つ1つ削除していけばいいのですが、本物のデータは何千件とあるので 手作業では時間が掛かりすぎてしまいますので…。なにかよい方法はないでしょうか? 簡単な方法であれば大変助かりますが、マクロなどを使用する方法でもかまいませんのでご教授下さい。 よろしくお願い致します。

  • VLOOKUPのような検索で複数ヒットしたら全て抽出したい

    Sheet1      A    B       1. 600円 イチゴ       2. 550円 みかん       3. 380円 イチゴ       4. 400円 りんご       5. 650円 イチゴ       6. 250円 りんご Sheet2      A ......B........C..........D..........E       1. イチゴ 600円 380円 650円       2. みかん 550円       3. りんご 400円 250円 Sheet2のA1イチゴでSheet1のB列検索して、ヒットしたA列の値段をSheet2のB1に表示する。この時、検索結果が複数あった場合、2個目をC1 3個目をD1に表示する。(max10個入れたいです) 次はA2のみかんで検索する。 イチゴのような種類が2000個あるので関数で自動検索したいのですが よろしくお願い致します。

  • エクセルで,スペースのある文字列を列ごとに分けるには?

    例えば abc def ghi jkl mno pqr という文章があったとします。 それを |abc|def|ghi| ------------- |jkl|mno|pqr| みたく,スペースのあるところで区切るにはどのようにすればよいでしょうか。教えてください。

  • VLOOKUPで検索したデータを元にVLOOKUP

    集計シートにてVLOOKUPでソースシートAから検索したデータ"ABC"(URL文字列)が存在します。 このデータABCを、ソースシートBから検索して、データ"yahoo!"を取り出したいと考えています。 ソースシートA ABC 100 DEF 200 GHI 300 集計シート ABC 100 (セルの実態はVLOOKUP関数) ソースシートB ABC yahoo! DEF google GHI 楽天 作りたいシート ABC yahoo! 100 これを実現するための関数をご教示頂きたく思っております。 情報不足でしたら可能な限り追加で説明させて頂きますのでどうかよろしくお願いします。 ※アクセス等でABCをキーに結合させてしまえば楽かもしれませんが、実作業する人間がアクセスに不慣れなためエクセルで実現したいです。

  • 複数種類の括弧でくくられてない文字をマッチングさせたい

    Perlの正規表現で質問です。 複数種類の括弧、たとえば()、【】、[]などで囲まれていない文字をマッチングさせたいのです。 括弧は1行に複数ある可能性があり、ない場合もあります。 (abc)【def】ghi【jkl】 だとghiの部分。 【abc】【def】(ghi)jkl(mno) だとjklです。 頭に必ず括弧が来たり、括弧が一回だけなら括弧閉じるの種類をor検索ではじけるのですが、何回くるかわからないのでどうしたらいいか困っています。 方法がありましたら教えてください。

    • ベストアンサー
    • Perl
  • EXCELで日付ごとに行の色分けを行うには?

    下記のような表でB列に入力してある日付をもとに行の色分けをしたいと考えています。 条件書式やVBAを試してみましたがどのようにしたらよいかわかりません。 どなたか教えていただけませんでしょうか。宜しく御願い致します。 A |   B    |   C ABC | 20120903 | 1 DEF | 20120903 | 3 GHI | 20120904 | 7 JKL | 20120905 | 3 MNO | 20120905 | 5 OPQ | 20120910 | 6