複数抽出できるエクセルの関数は?
以下のような表が2つあるとします。
<Aファイル>
セル A B C
1行目 商品a@分類a@名称
2行目 11 21 ABC
3行目 12 22 DEF
4行目 13 23 GHI
<Bファイル>
セル A B C D E
1行目 商品a@分類a@名称 コード 金額
2行目 1 2 あいう 11000 100
3行目 11 21 かきく 55000 200
4行目 3 4 さしす 90000 300
「Aファイル」の商品a{分類bニ一致するデータを「Bファイル」の中から検索をして、その行ごとに別ファイルに抽出するような関数はあるでしょうか?
一致する行は1行だけではなく、複数行あると思うので、複数抽出する方法も知りたい場合があるでしょう。
このような場合に簡単に解決してくれる関数があります。
ちょっとだけ説明は複雑だと思いますが、以下の関数を参考にしてみてください。DGET関数という関数を使います。
1.別ファイルとして、シート名「検索条件」というシートを作成します。
2.シート「検索条件」のA2セル:「=[【Aファイル】]Sheet1!$A$2」
B2セル:「=[【Aファイル】]Sheet1!$B$2」
と入力しておきます。「Aファイル」の商品a{分類bェ検索条件だからですね。
このとき、Aファイルの3行目、4行目も同じように、A3セル、A4セルに入力してください。
3.1行目には、左側から、「商品No」「分類No」「名称」「コード」「金額」と名前を入れておきます。
4.検索結果を表示させたいファイルのシートに移って、「商品avを表示の1行目のところに、以下のように入力してください。
「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"商品No",検索条件!A1:B4)」
※ここの「***」には、上記2.で指定した最終行の番号を入れます。例の場合でしたら、4を指定すれば大丈夫です。
5.次に、同じようにして、以下を入力します。
「分類avの1行目:「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"分類No",検索条件!A1:B4)」
「名称」の1行目:「=DGET([【Bファイル】]Sheet1!$A$1:$E$***,"名称",検索条件!A1:B4)」
「コード」の1行目:「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,2,FALSE)」
「金額」 の1行目:「=VLOOKUP(C2,[【Bファイル】]Sheet1!$C$1:$E$***,3,FALSE)」
※これらの「***」も、上記3.と同じです。
これで試してみてくださいね。