• ベストアンサー
  • 困ってます

エクセルで条件に合わせて複数データを抽出したい

シート1に基本データ(基データ)があり、シート2のセル内に条件を入れて、該当のデータをシート1から引っ張りたい。 具体的には、シート1に基本データ  ナンバ- 1 1 2 2 2 3 4 4 4  該当データ A B C D E F G H I シート2に 条件内容 1を入れてA B (複数データ)      2を入れてC D E       3を入れてF -----と、こんな具合になりたいのですが?   VLOOKUP は複数の抽出なので駄目でした。   

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数413
  • ありがとう数7

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

  • ベストアンサー
  • 回答No.4
  • imogasi
  • ベストアンサー率27% (4562/16328)

この問題はエクセル関数での抜き出し問題で難しいですね。 関数の仮面を被ったVBAの配列関数でやって見ます。 -- 例データ Sheet1のA1:B9 番号内容 1a 1b 2c 3d 4e 3f 2g 3h ーーー 準備 シートでALT+F11 挿入ー標準モジュールで出る画面に下記を張り付け。 ーーー Function aa(a, b) Dim x() As Variant c = a.Column k = 1 d = Worksheets("Sheet1").Range("A65536").End(xlUp).Row ReDim x(1 To d, 0) For i = 1 To d If Worksheets("Sheet1").Cells(i, c) = b Then ' MsgBox Worksheets("Sheet1").Cells(i, "B") x(k, 0) = Worksheets("Sheet1").Cells(i, "B") k = k + 1 End If Next i aa = x End Function ーーー Sheet2のA1に番号3 B2:B10とかを範囲指定して(番号が変わったとき、最大該当数を考慮すること) =aa(Sheet1!A2,A1) と入れて SHIFT、CTRL、ENTERのキーを同時押しする。 結果 d f h そのときB2:B20とか適当行数に書式・表示形式・ユーザー定義で #を設定して0を出ないようにする。 ーー 私は中間列や行を使ってやる方法で、imogasi方式を出してます。 Googleなどでimogasi方式で照会すると過去の質問回答が沢山出ます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。

関連するQ&A

  • excelで複数条件を抽出して反映させる方法

    sheet1 <基データの表> セルA3:登録番号 セルI3:使用先会社名  sheet2<sheet1を反映させvlookup設定で抽出した完成表> セルB2:登録番号 セルC2:使用先名称 現在、上記のようなセル設定をしており、 sheet2のセルC2にvlookup関数を設定し、B2に登録番号を入力すると、 sheet1の基データから条件を抽出し使用先名称を表示させています。 しかし、基データの登録番号には重複するものが何件かあり、 その場合は最初の値しか返さないので、間違ったデータが抽出されてしまうことがあります。 この問題を解決する方法はありませんか? (1)vlookup関数以外を使用することになっても大丈夫です。 (2)できれば、重複するものはsheet2に反映される時点で両方反映されるとよいのですが、それができなくても、重複していることがわかればよいです。 (3)登録番号以外をデータの抽出に使用することはできないので、これは変更できません。 以上、お手数ですがご教授くださると幸いです。

  • 複数の条件からデータを抽出したい。エクセル2010

    よろしくお願いします。 データリストに 東京都三鷹市 東京都武蔵野市 東京都港区 福岡県福岡市 福岡県北九州市 があり、この中から、三鷹市と武蔵野市を含むデータを抽出したいと思います。 フィルタの検索条件では、複数条件(三鷹市または武蔵野市を含む)での検索ができず、Vlookupも一つの条件でしか検索できないとネットで読みました。 実際は抽出条件がもっと多くあり(政令指定都市+首都など)、データのフィルタなどで 一つづつvlookupやフィルタやっていくことは非現実的です。 複数の文字リスト(三鷹市、武蔵野市、西東京市など)のどれかを含む列を抽出するにはどうしたらいいでしょうか? 教えてください。よろしくお願いします。

  • エクセルデータ抽出方法を教えてください

    エクセルでのデーター抽出方法を教えてください、シート1:A1にUA1と入力し、シート2:A列にはUA1・・・・複数のデータが縦に並んでいます、シート1:A1に入力したデーターを元にシート2:A列を検索し該当するデータの抽出を行いたいです、VLOOKUPではうまく行きません教えてください

その他の回答 (3)

  • 回答No.3

シート1のA1セルから順番に基本データを入力します。 ナンバ- 1 1 2 2 2 3 4 4 4 該当データ A B C D E F G H I 次に、シート2のA1とA2セルに ナンバ- 該当データ を入力。 そして、シート2のB2セルに =IF(Sheet1!B1=$B1,HLOOKUP($B1,Sheet1!B1:B2,2),"") と入力し、この関数を、C2からJ2セルにコピーします。 シート2のB1セルにナンバー数字を入力すると、 該当データが抽出するようになります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。

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

次の方法は如何でしょうか。 シート1のA列にナンバー、B列にデータとして、シート2のA列にナンバーを入力すると右隣列方向にデータを抽出します。 次の配列数式をシートA2に設定し、縦横に必要分コピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(Sheet1!$A:$A,$A1)>COLUMN(A$1)-1,INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$100=$A1,ROW(Sheet1!$A$1:$A$100),99999),COLUMN(A$1))),"")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。

  • 回答No.1

例にあげられたデータ形式では、縦横入れ替えた方がエクセルでは便利かと思います。  シート1のデータをシート2にリンク貼り付け(しかも、行と列を入れ替えて)して、  オートフィルタで処理するのが一番簡単です。  indexに対して、返されるデータが何件あるかわからないので、 関数で処理するためには、予想される出力欄にすべて入力しておくことが必要です。 ですので、マクロ(VBA)で処理するしかないかと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。

関連するQ&A

  • エクセル 複数条件抽出について

    エクセル2013を使用しています。 データシートより複数条件に当てはまるデータを 別のシートへ必要な項目のみ抽出する方法(関数orマクロ)をお教え下さい。 データシート:A列からU列まで様々なデータが入力されている。 抽出条件:H列とN列 抽出する項目:C列・I列・M列・O列・Q列・R列・S列 (抽出する項目は増える可能性有) 複数条件の抽出はフィルタオプションで出来たのですが、 抽出が必要な項目を指定する方法が分かりませんでした。 宜しくお願いします。

  • EXCEL、複数の条件からデータを抽出

    EXCELを使って複数の条件からデータを抽出したいです。 条件は 利用した施設、開始時間、終了時間の3つから条件にあう金額を抽出したいです。 VLOOKUPでは一つの条件からでしか抽出が出来ないので困っています。 A列に利用した施設、G列に開始時間、H列に終了時間が並んでいます。K列に金額を抽出したいです。 それぞれの時間、施設ごとの料金表をつくってそこから抽出しようと思っています。使用出来る関数やそれ以外にもやり方などあればご教授頂ければと思います。宜しくお願い致します。

  • エクセルのデータ抽出について

    基本的な内容かもしれませんが、どうしてもわからないので教えてください。   A B C D 1 1 b 3 c 2 2 t 4 y 3 3 r 3 o 4 4 l 5 p 5 5 k 3 w 上記のようなデータベースがあったとします。このシートと異なるシートのあるセルにたとえば3と入力すると   A B C D 1 1 b 3 c 2 3 r 3 o 3 5 k 3 w のようにC列が3である行が抽出され、なおかつA列の昇順で並ぶということをしたいのですが、vlookup等ではうまくできません。 フィルタを使用せずに実現したいのです。お願いします。

  • Excelで複数条件を満たすデータを抽出

    以下のような場合の、データ抽出方法を教えてください。 Sheet1 "計画”, Sheet2 "実績”があります。 それぞれのSheetの A~Dには、共通列項目である ”都道府県””都道府県コード””品目””品番” が設定されています。 このふたつのSheetをまとめて、項目順に”計画”データの下に”実績”データがくるようなSheetを作りたいのですが、上記4つの条件が全て共通なデータを、関数等と使って抜出すことはできるのでしょうか? If、VLOOKUP、And、”名前をつける”などを組み合わせて、いろいろ考えてみたのですが、複数条件を満たす結果の抽出ができませんでした。 宜しくお願いします。

  • EXECL・複数タブからのデータ抽出

    同一Book内での処理です。 今現在の処理内容です タブAには抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブBには抽出キー・抽出結果を表示するようにしています。 セルA1・・・抽出キー1 セルB1・・・抽出キー2 セルC1・・・抽出キーを合成 <=CONCATENATE(A1,"→",B1)> セルD1・・・データ抽出 <=VLOOKUP(C1,タブA!$A:$C,2,FALSE)> したいことは タブAのデータと同一内容のデータが複数タブに存在するときのデータ抽出する場合はどうすればよいのでしょうか? タブA(リンゴ)には抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブB(みかん)には抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブCではセルA1の内容によって抽出するデータのタブを選択しデータを抽出したい セルA1・・・抽出キー1 セルB1・・・抽出キー2 セルC1・・・抽出キーを合成 <=CONCATENATE(A1,"→",B1)> セルD1・・・データ抽出 <=ここの計算式が知りたい タブCのセルA1の抽出キーに(リンゴ)と入力されていればタブA(リンゴ)のシートよりデータ抽出 タブCのセルA1の抽出キーに(みかん)と入力されていればタブB(みかん)のシートよりデータ抽出 単にいえば、データ抽出するタブを指定して<VLOOKUP関数>を利用できるのか? できないなら実現できる手法を教えていただきたいです。 説明が難しいですが、内容がわかっていただけたでしょうか? 達人からの回答よろしくお願いいたします

  • Excelで複数の条件でデータを抽出したいのですが上手くいきません(ToT)

    Excelで複数の条件でデータを抽出したいのですが、どうしても上手くいかず、質問させていただきました。 ナガシマスパーランド ナガシマスパーランド(三重県) ナガシマスパーランド(三重 東京ディズニーランド 東京ディズニーランド(千葉県) 東京ディズニーランド(千葉 ハウステンボス ハウステンボス(長崎県) ハウステンボス(長崎 ・ ・ ・ といったデータがあるのですが、この中から、 ナガシマスパーランド(三重県) 東京ディズニーランド(千葉県) ハウステンボス(長崎県) と、県名が「()」(←半角カッコの始めと終わり)で囲まれているデータのみを抽出し、別の行にそれらのデータを貼り付けたいのですが、 下記URL↓ http://dreamy.boy.jp/tec3_16.htm のやり方等を試しても、どうしうてもうまくいきません(ToT) (「該当なし」と判断されてしまうのでしょうか、検索条件範囲に項目名と「(」と「)」を含むセル範囲を選択しても、結果は、一つもデータが表示されない状態が返されてしまいます。) 「(」と「)」の2つの文字列を含むデータのみを抽出するには、どうすればよいのでしょうか? 関数を使えばいいのでしょうか?

  • EXCELの関数で複数条件の抽出方法

    エクセルの関数について教えてください。 VLOOKUPで複数条件を抽出したい。 以下の様に出来ればと思いますが、数式が分かりません。 売上データーの中から複数の条件に一致したものだけを抽出したい。 例) 商品が1,2,3,4,5,6,7,8,9,10と種類が100あるとします。 売上先A,B,C,D,E,F,G,と100の客先があるとします。 その中から、商品1と売上先Aの場合はA-1と売上金額のデーターを抽出させて、商品1と売上先がDの場合はD-1と売上金額を抽出させたい。但し、商品1と売上先Bの場合は売上金額を抽出させたくない。 このような場合の関数での数式を教えて欲しい。 お分かりの方があればお教え願います

  • Excelで複数条件で抽出した複数データを出力

    Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果

  • エクセル関数 複数の条件でのデータ抽出

    エクセルの初心者です。 関数で複数の条件からデータを抽出する方法をおしえてください。 [Sheet1] date type Qty. 7/1 b-1 100 7/1 a-2 200 7/3 b-1 500 上のようにデータが並んでいます。 その中で条件にかなうQty.を下のシートに抽出したいのです。 行にはtypeが、列にはdateが並んでいます。 [Sheet2] 7/1 7/2 7/3 a-1 0 0 0 a-2 200 0 0 b-1 100 0 500 SUMPRODUCT, DGETなどいろいろ試したのですが、うまくいきません。 (条件が、列と行になっているからでしょうか) これは、同じtypeが異なるdateに出てくる場合があります。 また、dateの順番がばらばらの場合は抽出は不可能ですか。 ご多忙の中申し訳ございませんがよろしくお願いします。

  • Excel 複数条件からのデータ抽出

    Excel 複数条件からのデータ抽出 Excelの関数について質問です。 色々と調べたのですが、近いようで遠いものしか見つけることができませんでしたので、 我慢できず質問させていただきます。 下記のようなデータがあったとします。 ----------------------------- ホテル ホテル1 プラン1 部屋1 価格 ホテル1 プラン2 部屋2 価格 ホテル1 プラン3 部屋3 価格 ホテル1 プラン3 部屋4 価格 ホテル2 プラン1 部屋5 価格 ホテル2 プラン2 部屋6 価格 ホテル2 プラン2 部屋7 価格 ホテル2 プラン2 部屋8 価格 ・ ・ ・ ----------------------------- このデータから、下記の処理がしたいです。 ・オートフィルタでソートして絞るのではなく、  別セルに入力規制などで、プルダウンから選ぶ方式で、  各プランの比較を行いたい。 (1)まずは、別シートのA1セルに、 入力規制を設け、ホテルを選択できるようにします。 (2)次に、A2セルでプランを同じ方法で選択するようにしたいのですが、 上記のデータでホテル1にはプラン1~3が該当しますが、 ホテル2はプラン1と2のみになってます。 このとき、(1)でホテルを選択した時点で、 自動でプラン選択リストをそのホテルに合わせたものにしたいです。 (3)次に、A3セルで同じように部屋を選択するのですが、(2)と同じように、 (1)と(2)で選んだホテル・プラン向けのリストに自動的になるようにしたいです。 (4)最後に、A4セルに該当の価格を自動で表示させたいです。 可能でしょうか。 実際はホテルの数が全部で5つ、 プランの数が5つ、 部屋のタイプは26種類、 価格はすべて異なります。 よろしくお願いいたします。