複数抽出できるエクセルの関数は?
以下のような表が2つあるとします。
【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)」
と入力します。
これで大丈夫だと思うので、参考になさってみてくださいね。
【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)」
と入力します。
これで大丈夫だと思うので、参考になさってみてくださいね。
エクセル関数(COUNTIF編)
エクセルの関数の中に、指定条件に合致するセルの個数をカウントすると言う「COUNTIF関数」というのがあります。
「=countif(引数1,引数2)」という使い方をします。
【関数の説明】
引数1で指定された範囲の中から、引数2で指定された条件のセルがいくつあるか合計個数を返す関数です。
【引数の説明】
引数1:セル範囲の指定をします
引数2:カウント条件を指定します
単純にこの「COUNTIF関数」を使用するときは指定する条件は1つですが、複数条件指定する場合にはどう設定したらいいの?と疑問に思う方もいると思います。
解決方法としては色々ありますが、一致させる条件がセルの完全一致ならばワーク的な作業列を作成して、そこを利用してCOUNTIF関数を実行すると言うのが一番簡単だと思います。
どういうことかと言いますと、第一条件が書いてあるセルと、第二条件が書いてあるセルを「=セル1&セル2」で文字列結合します。その結合したセルに対して「COUNTIF関数」を記述すればいいという訳です。
(例)
列 A B C
条件1 条件2 結合
上記例の場合、列Cに「=条件1&条件2」と結合させる関数を記入します。これで列Cには結合された文字列が表示されるようになります。列Cに対して「COUNTIF」を使用するようにする。
関数を使い慣れていない方だと、あるデータだけでなんとかしようと頑張ってしまいがちですが、この例のようにデータとデータを結合させて判断をするという事も可能です。
「=countif(引数1,引数2)」という使い方をします。
【関数の説明】
引数1で指定された範囲の中から、引数2で指定された条件のセルがいくつあるか合計個数を返す関数です。
【引数の説明】
引数1:セル範囲の指定をします
引数2:カウント条件を指定します
単純にこの「COUNTIF関数」を使用するときは指定する条件は1つですが、複数条件指定する場合にはどう設定したらいいの?と疑問に思う方もいると思います。
解決方法としては色々ありますが、一致させる条件がセルの完全一致ならばワーク的な作業列を作成して、そこを利用してCOUNTIF関数を実行すると言うのが一番簡単だと思います。
どういうことかと言いますと、第一条件が書いてあるセルと、第二条件が書いてあるセルを「=セル1&セル2」で文字列結合します。その結合したセルに対して「COUNTIF関数」を記述すればいいという訳です。
(例)
列 A B C
条件1 条件2 結合
上記例の場合、列Cに「=条件1&条件2」と結合させる関数を記入します。これで列Cには結合された文字列が表示されるようになります。列Cに対して「COUNTIF」を使用するようにする。
関数を使い慣れていない方だと、あるデータだけでなんとかしようと頑張ってしまいがちですが、この例のようにデータとデータを結合させて判断をするという事も可能です。