複数抽出できるExcel関数
スポンサードリンク
表計算ソフトを使い場合には、データ抽出がしたいケースが多々あります。
以下のような表があるとしましょう。
【Aファイル】
セル A B C
1行目 商品 分類 名称
2行目 11 21 ABC
3行目 12 22 DEF
4行目 13 23 GHI
【Bファイル】
セル A B C D E
1行目 商品 分類 名称 コード 金額
2行目 1 2 あいう 11000 100
3行目 11 21 かきく 55000 200
4行目 3 4 さしす 90000 300
例えば、次のような質問があるとします。
「Aファイル」の商品+分類と一致するデータを「Bファイル」から検索を行い、その行ごとに別ファイルに抽出する処理をしてくれる関数はあるでしょうか?
一致するのは複数行あると思うので、複数抽出する方法なんかもあれば教えて頂きたいです。
この問いを解決するには、少し複雑だとは思いますが、以下の関数を参考にして、行ってみて下さい。
1.別ファイルにシート名「検索条件」というシートをつくります。
2.シート「検索条件」のA2セル:「=[【Bファイル】]Sheet1!$A$2」
B2セル:「=[【Bファイル】]Sheet1!$B$2」
C2セル:「=[【Bファイル】]Sheet1!$C$2」
D2セル:「=[【Bファイル】]Sheet1!$D$2」
E2セル:「=[【Bファイル】]Sheet1!$E$2」
と入力しておきます。これは、E2の次はF・G・H・・・・と必要な分だけ、同様に関数をコピーして下さい。
3.1行目に左側から「商品No」「分類No」「商品名」「コード」「金額」と名前を入れておきます。
4.抽出元のデータが入力されたシートに移って、「商品?」の1行目の所に「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"商品No",検索条件!A1:C2)」と入力して下さい。ここでいう「***」というのは「2」で指定した最終行の番号になってきます。
5.次に「分類?」の1行目:「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"分類No",検索条件!A1:C2)」
「商品名」の1行目:「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"分類No",検索条件!A1:C2)」
「コード」の1行目:「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,2,FALSE)」
「金額」 の1行目:「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,3,FALSE)」
と入力します。
これで問題ないと思いますので、参考になさって下さい。
スポンサードリンク