今回は、指定した条件に合うデータを抽出する関数である「FILTER関数」についてご紹介します。
「FILTER関数」は、Microsoft365とExcel2021で登場した新しい関数で、スピル機能を使用した関数でもあります。ぜひ、参考にしてみてください。
「スピル機能」に関してはこちらの記事をご覧ください。
FILTER関数とは
「FILTER関数」は、検索/行列関数と呼ばれる関数の1つです。
対応しているバージョンは、2021年以降(365も含む)となっています。
下記の図で「FILTER関数」のイメージをつかんでおきましょう!
FILTER関数
指定した条件に合うデータを抽出する関数
2021以降(365を含む)から登場したスピル機能の仕組みにより、複数の結果を表示してくれます!
FILTER関数の使い方
「FILTER関数」の使い方を見ていきましょう。
FILTER関数
配列
対象データの範囲(配列)を指定する
含む
配列から抽出する条件を指定する
空の場合
条件に合うデータが空の場合に返す値を指定する(省略可能)
使用例
ここからは、実際にExcelの画面を見ながら「FILTER関数」の使い方について学んでいきましょう。
例として、上図の左の表からカテゴリ「食品」のデータを抽出したいと思います。
「FILTER関数」の中身はこちらになります。
数式 「=FILTER(A3:D11,D3:D11=”食品”)」
配列 「A3:D11」
含む 「D3:D11=”食品”」
空の場合「省略」
数式が入力出来たら、「OK」またはEnterキーを押しましょう。
これで、左の表からカテゴリ「食品」のデータを抽出することができました。
空の場合を省略したときに条件に合うデータがない場合、下図のようにエラーが表示されます。
複数の条件を指定して抽出
「FILTER関数」では、1つの条件だけでなく複数の条件を指定することができます。
複数条件の指定
AND
= FILTER( 配列, (条件1)*(条件2), 空の場合 )
💡条件1かつ条件2を満たすデータを抽出する
OR
= FILTER( 配列, (条件1)+(条件2), 空の場合 )
💡条件1または条件2を満たすデータを抽出する
AND(かつ)
AND条件を指定するためには、条件を「*」でつなぎます。
上図の例では、カテゴリ「食品」かつ価格が3,000以上のデータを抽出しています。
数式 「=FILTER(A3:D11,(D3:D11=”食品”)*(B3:B11>=3000))」
配列 「A3:D11」
含む 「(D3:D11=”食品”)*(B3:B11>=3000)」
空の場合「省略」
OR(または)
OR条件を指定するためには、条件を「+」でつなぎます。
上図の例では、カテゴリ「食品」かつ価格が3,000以上のデータを抽出しています。
数式 「=FILTER(A3:D11,(D3:D11=”食品”)*(B3:B11>=3000))」
配列 「A3:D11」
含む 「(D3:D11=”食品”)*(B3:B11>=3000)」
空の場合「省略」
FILTER関数と他の関数の組み合わせ
「FILTER関数」と他の関数を組み合わせることで、より見やすい表の作成をすることができます。
今回は、「FILTER関数」と2つの関数の組み合わせをご紹介しますが、その他にも様々な関数と組み合わせることができるのでぜひ試してみてください!
FILTER関数×UNIQUE関数
1つ目は「FILTER関数×UNIQUE関数」の組み合わせです。
「UNIQUE関数」と組み合わせることで指定した条件でデータを瞬時に抽出することができます。
「UNIQUE関数」に関してはこちらをご覧ください。
例として、ドロップダウンリストからカテゴリを指定することで、そのカテゴリのデータを抽出できるようにしたいと思います。
まずはドロップダウンリストを作成していくために、「UNIQUE関数」で重複なしのカテゴリを抽出します。
「UNIQUE関数」の中身はこちらになります。
数式 「=UNIQUE(D3:D12)」
配列 「D3:D12」
その他省略
数式が入力出来たら、「OK」またはEnterキーを押しましょう。
これで重複なしのカテゴリを抽出することができました。次はドロップダウンリストを作成していきます。
<データ>タブにある「データ入力の規則」をクリックします。
すると「データの入力規則」ダイアログボックスが開きます。
設定欄を以下のように設定します。
入力値の種類 「リスト」
元の値 「=N2#」
元の値にある「N2#」はスピル範囲演算子といい、スピルによってあふれたスピル範囲全体を参照することができる演算子です。
「UNIQUE関数」は、スピル機能の仕組みを含む関数なのでこのような使い方もすることができます!
設定が出来たら、「OK」またはEnterキーを押しましょう。
これで、ドロップダウンリストからカテゴリを選択できるようになりました。
次に、抽出したデータを表示するセルに「FILTER関数」を入力していきます。
「FILTER関数」の中身はこちらになります。
数式 「=FILTER(A3:D12,D3:D12=L2)」
配列 「A3:D12」
含む 「D3:D12=L2」
空の場合「””」
数式が入力出来たら、「OK」またはEnterキーを押しましょう。
これで準備が整いました!カテゴリをドロップダウンリストから指定してみましょう。
瞬時に指定したカテゴリのデータが抽出され表示されました。ほかのカテゴリも選択することで瞬時に抽出することができるのでぜひ試してみてください。
FILTER関数×COUNTIF関数
2つ目は「FILTER関数×COUNTIF関数」の組み合わせです。
「COUNTIF関数」と組み合わせることで条件に合ったデータの指定した列のみを抽出することができます。
「COUNTIF関数」に関してはこちらをご覧ください。
例として、上図の左の表から面積(Km^2)が10,000以上の都道府県名だけを抽出したいと思います。
「FILTER関数」の中身はこちらになります。
数式 「=FILTER(FILTER(A3:C22,C3:C22>=10000),COUNTIF(E2:F2,A2:C2))」
配列 「FILTER(A3:C22,C3:C22>=10000)」
含む 「COUNTIF(E2:F2,A2:C2)」
空の場合「省略」
数式が入力出来たら、「OK」またはEnterキーを押しましょう。
これで、左の表から面積(Km^2)が10,000以上の都道府県名だけを抽出することができました。
今回ご紹介した「FILTER関数」は、2021以降(365を含む)に登場した新しい関数になります。
他の関数と組み合わせることでさらに活用の幅が広がりますので、本記事を参考にしながら色々試してみてください!
Excelのオススメ教材はこちら!