• 締切済み

エクセルの関数で複数抽出

エクセルの関数を教えて欲しいです。 以下のような表が別ファイルであるとします。 【Aファイル】    【Bファイル】  A  B  C    A  B  C  D  E 1 商No 分No 名   1 商No 分No 名 売上 売数 2 23  11 あいう 2 1  2  あかさ 24000  12 3 55  34 かきく  3 2 4 いきし 67000  33 4 65  77 さしす 4 11 21  うくす 55700  65 ・ ・  ・  ・   ・ ・ ・   ・   ・   ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ Aファイルの商品Noと分類Noが一致するものを、Bファイルから検索し、行ごと別ファイルに抽出(複数)する関数を教えていただけないですか?。いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。よろしくお願いいたします。

みんなの回答

回答No.2

複雑でよいなら以下の方法でお試し下さい (1)抽出する別ファイルに「検索条件(仮名)」とでも名付けたシートを挿入します (2)そのシートのA2のセルに「=[【Bファイル】]Sheet1!$A$2」を入力 (3)更にB2のセルに「=[【Bファイル】]Sheet1!$B$2」を入力 (4)更にC2のセルに「=[【Bファイル】]Sheet1!$C$2」を入力 (5)更にD2のセルに「=[【Bファイル】]Sheet1!$D$2」を入力 (5)更にE2のセルに「=[【Bファイル】]Sheet1!$E$2」を入力 (6)各列を必要な行数だけオートフィルで入力する (7)1行目のセルに左から「商品No」「分類No」「商品名」「売上」「売数」の名前を入力 (8)一行目をコピーして奇数行に挿入していく (9)終ったら抽出したいシートに移り「商品No」の1行目に「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"商品No",検索条件!A1:C2)」を入力。〔***はBファイルの最終行番号です〕 (10)「分類No」の1行目に「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"分類No",検索条件!A1:C2)」を入力 (11)「商品名」も同じように入力 (12)「売上」には「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,2,FALSE)」を入力 (13)「売数」には「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,3,FALSE)」を入力 (14)これと同じようにして以下の行も入力するが「商品No」「分類No」「商品名」の式の後ろ部分「検索条件!A1:C2」の範囲はA3:C4,A5:C6,・・・と変えていきます これで出ますがどうでしょう?

  • gookkj
  • ベストアンサー率49% (64/129)
回答No.1

多分そんな関数はありません。 代わりに次のような方法で複数抽出が出来ます。エクセル2000で確認しましたが、ほかのバージョンでも同じようなことが多分出来るでしょう。 (1)Aファイルのデータと、Bファイルのデータとが同じファイルの別シート上にあるものとします(シートAとシートBにあるとします) (2)シートAのデータの中のセルのひとつにカーソルがある状態で 「データ-フィルタ-フィルタオプションの設定」を選びます。 (3)「リスト範囲」がシートAのデータ全体(含む見出し行)となっているか確認 (4)「検索条件範囲」に「シートB!A1:B10」のように品Noと分類Noの全て(見出し行も含む)が入るように設定する (5)「抽出先」として「指定した範囲(O)」を選ぶ (6)「抽出範囲(T)」として、抽出したデータを出力したい場所の開始場所のセルを指定する (7)「OK」ボタンを押すと、(6)で指定した場所を起点にデータがずらーと抽出されます