Excelを使用していて、複数条件を満たすデータを瞬時に抽出できたら便利なのにという場面、ありますよね?
これはフィルターオプションで出来そうな気もしますが、なんと複数のシートにまたがる場合は使えないんですね。(実際に試してみました)
そこで登場するのがFILTER関数です。FILTER関数が聞き慣れないという方、それもそのはず正式導入されたのはExcel2019の一部の機能更新版以降の話なのです。
私はサーティファイExcel1級2021版で受験するので、FILTER関数も勉強することになりました。
そんなこともあり、この便利なFILTER関数の使い方を解説していきたいと思います。
FILTER関数は、一般的にはExcel2021とMicrosoft365でしか使用できません。
(2024年12月現在)
FILTER関数を使って簡単に複数条件のデータを抽出する方法
FILTER関数とは?
FILTER関数とは、従来のフィルター機能と同様に、指定した条件を満たすデータを抽出する関数です。
その上で、FILTER関数はフィルター機能ではできないこともできます。
- 元データが変わると、FILTER関数の結果も自動で更新されます。
- 絞り込んだデータを好きなシートやセルに表示可能。
- 数式内で複雑な条件を指定してデータを絞り込めます(例:複数列のAND/OR条件)。
- FILTER関数は結果だけを別のセルに表示するので、元データはそのまま見られる。
- 他の関数(SUM、AVERAGEなど)と組み合わせて、絞り込んだデータをさらに加工可能。
一方、フィルター機能では、
- 元データが変わると、手動で再適用が必要。
- フィルター機能は元データに直接適用される。
- 複雑な条件は手動設定が必要。
- フィルター機能では絞り込んだデータ以外が非表示になる。
- フィルター機能ではその場で計算や組み合わせが難しい。
といった違いがあります。
なにかとFILTER関数のほうがフィルター機能よりも便利なのです。
FILTER関数の公式
FILTER関数の公式は次のとおりです。
=FILTER(指定した範囲, 条件, [一致しない場合の値])
指定した範囲 … 絞り込みの対象となる範囲(データのリストや表)。
条件 … 絞り込み条件を指定する範囲や式。TRUE/FALSEの条件を返す式を記述します。
一致しない場合の値 … 絞り込み条件に合うデータがない場合に表示する値。
複数条件のデータを抽出する
次のような表があるとします。この2つの表からFILTER関数を使って、複数条件でのデータの抽出を行っていきたいと思います。
表を用意する
基本は「山岳標高」シートの情報を「抽出データ」シートに反映させるといった内容になります。
式を書く
「山岳標高!B7:G46」の内容を、「山岳標高!D7:D46=抽出データ!E3」を条件として、「抽出データ!B6」に結果を反映させたいので、セル「抽出データ!B6」に式を書き込みます。
式は次のとおりです。
=FILTER(山岳標高!B7:G46, 山岳標高!D7:D46=E3, “該当するデータがありません。”)
フィルターをかけた結果
「日高山脈」でフィルターをかけた結果が表示されました。入力するのは、B6だけです。あとはスピルとう機能で結果が自動で反映されています。
最後に
いかがでしたか?
フィルター機能よりも使い勝手が良いことがわかっていただけたでしょうか?
Excel2021以降をご利用なさるのであれば、FILTER関数は必須とも言える関数ですね。
ではでは、参考までに。
おまけ
サーティファイの Excel®表計算処理技能認定試験1・2級を受験するにあたり、これさえ買っておけば必ず受かるといっても過言ではない一冊の本をオススメ致します。
それがこちら。
私も購入させていただき、大変お世話になっております。
コメント