2024年9月16日【ID:0】
【Excel】複数条件で値を抽出
2つのキーから値を検索して抽出する場合、今までは、以下のように検索用の列を用意する必要がありました。
しかし、2021以降のバージョンに新たに追加されたFILTER関数を活用することで、上記のような検索用の列を用意する必要がなくなりました。
今回は、FILTER関数を活用して、検索用の列を用意せずに2つのキーから値を検索して抽出する方法について解説していきます。
紹介する方法は、数ある方法の中の1つになります。
他の関数を活用しても実現することができるので、色んな方法を試されると良いです。
FILTER関数の使い方は、以下のとおりです。
=FILTER(配列, 含む, [空の場合])
// 配列:抽出対象の範囲
// 含む:抽出条件
// [空の場合]:抽出対象が1件もない場合に表示する値(省略可)
FILTER関数で複数条件で指定する場合は、AND「*」、もしくは、OR「+」を活用します。
実際に、FILTER関数を用いて以下の表からキー1とキー2が一致する値を抽出していきます。
この場合は、抽出対象の範囲がD7~D12になります。
次に抽出条件が以下の2つになります。
・キー1:B7~B12の中でB3と一致するデータ
・キー2:C7~C12の中でC3と一致するデータ
実際に、FILTER関数の引数に割り当てることによって、以下のように抽出することができます。
=FILTER(D7:D12,(B7:B12=B3)*(C7:C12=C3),"なし")
// キー1とキー2が一致する場合になるため、それぞれの条件をAND「*」で並べる
// 抽出対象が1件もない場合は「なし」と表示する
※黄色のセルに数式を入力しています。
一致するデータが複数件ある場合は、セルから溢れ出て、以下のように表示されます。
補足
複数の連続した項目を抽出する場合は、スピル(セルから溢れ出して表示する機能)を活用することで、以下のように1つの数式で表現することができます。
=FILTER(D7:E12,(B7:B12=B3)*(C7:C12=C3),"なし")