• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 複数条件からのデータ抽出)

Excel複数条件からのデータ抽出方法と注意点

kagakusukiの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、Sheet2の B1セルに「ホテル名」、 C1セルに「プラン名」、 D1セルに「部屋番号」、 E1セルに「価格」、 という具合に項目名が並んでいて(B1、C1、D1は空欄にはしないで下さい)、Sheet2の2行目から下方に向かって、 B列に各ホテルの名称データ、 C列に各プランの名称データ、 D列に各部屋の番号のデータ、 E列に価格のデータ、 という具合に各データが入力されていて、 ドロップダウンリストでSheet1の A1セルにホテル名、 A2セルにプラン名、 A3セルに部屋番号を入力すると、 Sheet1のA4セルに価格が自動的に表示されるものとします。  ここでは、Sheet3のB列、C列、D列、G列、H列、I列を作業列として使用する方法を述べます。  又、この方法では、Sheet2に入力されているデータは、ホテル毎にまとまって入力されていなくても良く、(例えば上から、「ホテル2のプラン3」、「ホテル5のプラン7」、「ホテル3のプラン5」、「ホテル1のプラン1」、「ホテル4のプラン6」、「ホテル2のプラン2」の順番でも可) 異なるホテルに、同名のプランや部屋番号が存在していても、正しい価格が表示されます。  まず、Sheet2の B1セルとG1セルに「ホテル」、 C1セルとH1セルに「プラン」、 D1セルとI1セルに「部屋」、 と入力して下さい。(G1、H1、I1は空欄にはしないで下さい)  次に、B2セルに次の数式を入力して下さい。 =IF(Sheet2!$B2="","",IF(COUNTIF(Sheet2!$B1:$B2,Sheet2!$B2)=1,COUNT($B$1:$B1)+1,""))  次に、C2セルに次の数式を入力して下さい。 =IF(AND(Sheet2!$B2=Sheet1!$A$1,SUMPRODUCT((Sheet2!$B$1:$B1&Sheet2!$C$1:$C1=Sheet1!$A$1&Sheet2!$C2)*1)=0),COUNT(C$1:C1)+1,"")  次に、D2セルに次の数式を入力して下さい。 =IF(AND(Sheet2!$B2=Sheet1!$A$1,Sheet2!$C2=Sheet1!$A$2,SUMPRODUCT((Sheet2!$B$1:$B1&Sheet2!$C$1:$C1&Sheet2!$D$1:$D1=Sheet1!$A$1&Sheet1!$A$2&Sheet2!$D2)*1)=0),COUNT(D$1:D1)+1,"")  そして、Sheet3のB2~D2の範囲をコピーして、同じ列の3行目以下に、Sheet2のリストの行数を上回るのに充分な回数だけ貼り付けて下さい。  それから、Sheet3のG2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($B:$B),"",INDEX(Sheet2!$B:$B,MATCH(ROWS($1:1),$B:$B)))  次に、H2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($C:$C),"",INDEX(Sheet2!$C:$C,MATCH(ROWS($1:1),$C:$C)))  次に、I2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($D:$D),"",INDEX(Sheet2!$D:$D,MATCH(ROWS($1:1),$D:$D)))  そして、Sheet3のG2~I2の範囲をコピーして、同じ列の3行目以下に、最も部屋数の多いプランにおける部屋数を、上回るのに充分な回数だけ貼り付けて下さい。  次に、Sheet1のA1セルを選択してから、次の操作を行って下さい。 メニューの[データ]をクリック   ↓ 選択肢の[入力規則]をクリック   ↓ 現れた「データの入力規則」ウィンドウの「設定」タグをクリック   ↓ 「入力値の種類」欄をクリック   ↓ 現れた選択肢の中の「リスト」をクリック   ↓ 現れた「元の値」欄の中に以下の数式を入力 =INDIRECT("Sheet3!G2:G"&COUNTIF(INDIRECT("Sheet3!G:G"),"><"))   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック ※回答欄に入力可能な文字数を超えたため、少々規則違反になりますが、後半は次の回答に掲載させて頂きます。

関連するQ&A

  • 複数条件による複数判定

    excelにて、複数条件による複数判定をしたいのですが、  A1セルに"A"又は"B"又は"C" と入力された場合は  A2セルで入力規制リストによりB1~B5を選択可。  A1セルに"D"又は"E"又は"F" と入力された場合は  A2セルで入力規制リストによりB6~B10を選択可。 といった関数が組めずに困っています。 どうぞ宜しくご教授願います。

  • エクセルでデータ→集計?入力規制?

    エクセル2003です。A1のセルに、データ→入力規制→リスト→元の値のところに、りんご・バナナ・みかん・ぶどう等を選択して使用しておりますが、B1のセルに、金額まで自動で表示したい場合はどうすればよいですか?例えば、りんごを選択するとB1に100・バナナは200など。

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

    シート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 は複数の抽出なので駄目でした。   

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

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

  • エクセルの条件に合うデーターを抽出する関数、

    エクセルのリスト1の住所録の情報から、リスト2に、東京都の人のデータのみを抽出する関数、また、何も記載がないセルは、そのままにしておく。

  • 下記のようにExcelのSheet1にデータが入力されているとします。

    下記のようにExcelのSheet1にデータが入力されているとします。 (セルは「」で区切ります。)※添付ファイル参照 ----------------------------- A、あ、1、a、2300 A、あ、2、b、2500 A、い、3、c、2300 B、あ、4、d、2900 B、い、5、e、3100 ----------------------------- ※左から、列名:種別1、種別2、製品コード、製品名、価格とします。 このリストを使用して、別シートに下記のような仕組みを作成したいです。 ---------------------------- 種別1選択、種別2選択、製品名選択 ■■この行にはリストボックスを作成し、     それぞれをリストから選択できるようにします。(添付ファイル参照)■■ ■■その下に、製品コードと価格を表示させたいです。■■ ----------------------------- 実現可能でしょうか。。。 すみません、教えてください。

  • エクセルのデータ抽出

    会社で注文のあった業者のリストをエクセルで 作ってて450行くらいあります。 各項目には会社名や内容や価格などありますが その中には空白のセルや行もあります。 そこからA列に自分が抽出したい行に印をいれて フィルタをかけたところ、空白があるためか すべてを抽出できません。1行1行抜き出すのもいいのですが 今後、データも増えることを考えると 何かいい方法で抽出したいのですが、 どうしたらいいでしょうか? やはりマクロをつかうのでしょうか? すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • エクセルで複数条件のデータ個数を出したい

    仕事で電話アンケートの結果データを集計したいのですが、関数が分かりません。 エクセルのSheet1で下記のようなリストを作成しました。 日付 回答 6/28  A 6/28  B 6/29  A 6/28  A 6/30  A 6/29  C 6/30  D 6/28  C sheet2に下記のような集計をしたいのです。  6/28 6/29 6/30 A B C D 6/28の回答でAのデータはいくつというのは どのような関数を使えばよいのでしょうか? よろしくお願いします。

  • エクセル データ抽出

    よろしくお願いします。 セルA3:E13にこのようなデータが入っています。 G4:H4にデータを入力すると、G8:K12に自動的にデータを抽出したいのですがよい方法はありませんでしょうか。 セルG4:H4のデータを入力しなおすたびに、条件に合うデータをG8:K12に抽出したいです。 実際にはもっと膨大なデータが入り、増え続けます。 エクセルに弱いのでどなたかお力添えください。 よろしくお願いいたします。

  • 2つの条件をデータテーブルに照らし合わせデータを抽出する

    2つの条件をデータテーブルに照らし合わせデータを抽出する 品番  顧客ID  価格 35894  312    A 35894  635    B 35895  215    C 別のシートに下記の価格表があります。 品番   312    215     635 35894  12,000  13,000   14,000 35895  5,000   6,000     7,000 価格欄のA, B, Cに入力すべき数式はどうなるでしょうか。 A=12,000 B=14,000 C=6,000 と表示されるのが求めている結果です。 どなたか教えて下さい。 IFとINDEXとMATCHを使って6つの顧客IDまでなら実現できましたが 顧客数は約50ありますので行き詰まりました。 ソフトウェアはエクセルで、Office 2000 SR-1 Professional版の ものを使用しています。 アドバイスをどうぞ宜しくお願いします。