
Excelで「特定の条件に合うデータだけを抜き出したい」と思ったことはありませんか?そんなときに便利なのが FILTER関数 です。表全体から条件に一致した行だけを動的に抽出でき、日々の集計やレポート作成をスムーズにしてくれます。
この記事では、FILTER関数の基本的な使い方から、複数条件の指定方法、エラー処理、他関数との組み合わせまでを、実例を交えてわかりやすく解説します。Excel 365やExcel 2021以降を使っている方は、ぜひこの関数を活用してみてください。
FILTER関数とは?
Excelの「FILTER関数」は、表の中から条件に合致する行だけを自動で抽出して表示してくれる関数です。フィルター機能を手動で使う必要がなくなり、関数を使うことで、常に最新の状態を保ったままデータを抽出できます。
この関数は、Excel 365 や Excel 2021以降で使える新しい関数で、「動的配列関数」の一つです。従来のIF関数やINDEX+MATCHよりもシンプルにデータの抽出処理ができます。
基本構文と使い方
FILTER関数の基本的な構文は次のとおりです。
=FILTER(array, include, [if_empty])
- array:抽出対象の範囲
- include:抽出条件(TRUE/FALSEの配列になるような式)
- [if_empty]:条件に一致するデータがない場合に返す値(省略可能)
例:売上データから「東京」だけを抽出

=FILTER(A2:C10, B2:B10="東京")
この式では、B列に「東京」と書かれている行だけがA〜C列ごと抽出されます。フィルターを自動化したような感覚で使えるのでとても便利です。
FILTER関数の活用例
1. 複数条件を設定したい場合
複数の条件で抽出したいときは、条件を *
(AND)や +
(OR)で組み合わせて記述します。
=FILTER(A2:C10, (B2:B10="東京")*(C2:C10>10000))
この式では「B列が東京、かつC列が10000より大きい」行が抽出されます。
2. 条件に合うデータがないときの処理

条件に合う行が1件もなかった場合、そのままにしておくとエラーが出ます。 IFERRORと組み合わせて「該当なし」と表示するのがおすすめです。
=IFERROR(FILTER(A2:C10, B2:B10="大阪"), "該当なし")
3. 他の関数との連携
FILTER関数は、SORT関数やUNIQUE関数と組み合わせると、 「抽出→並び替え」や「重複除外」など、より強力な処理が可能になります。
=SORT(FILTER(A2:C10, B2:B10="東京"))
FILTER関数の注意点
- 利用可能なのは Excel 365 または Excel 2021 以降
- 抽出対象の列・行の数は、入力したセルに応じて自動拡張される
- 計算量が多いと動作が重くなる場合があるので、大規模なデータでは注意
また、条件指定に不備があると #CALC! エラー が出ることがあります。引数の配列サイズが一致しているかも要チェックです。
まとめ
FILTER関数は、条件に応じたデータの絞り込みをシンプルな関数だけで実現できる便利なツールです。Excelのフィルター機能に慣れている人であれば、FILTER関数の柔軟性と再利用性に驚くはず。
関数の自動展開、エラー時の対応、他関数との組み合わせなどを駆使すれば、日々の業務効率が大きく向上します。ぜひ、自分のExcel作業に取り入れてみてください!
コメント