データ量が増えて「必要な部分だけ取り出したい」場面は多いはずです。ExcelのFILTER関数を使えば、手動でフィルタをかけたり、コピー&ペーストする手間を大幅に減らせます。複数条件や部分一致、エラー処理などの応用テクニックも含めて、実務でそのまま使えるようにわかりやすくご紹介します。
目次
Excel FILTER 関数 使い方の基本構文と役割
まずはFILTER関数の基本を押さえておきます。構文を理解することで応用の土台が築けます。FILTER関数は指定した範囲(配列)の中から、条件を満たす行や列だけを抽出して表示する関数です。複数の値が返されるため、結果は自動的に隣接したセルに展開されます(スピル)。この機能があるため、コピーや手動で範囲を指定する必要がなくなります。
基本構文は以下の通りです:
=FILTER(配列,含む, 空の場合)
ここで「配列」は抽出対象の範囲、「含む」はTRUE/FALSEを返す条件式、「空の場合」は一致するデータがなかったときに返す値を指定します。この第3引数は省略可能ですが、指定しないと一致なしの際にエラー表示になる点に注意が必要です。
構文要素「配列」について
「配列」は抽出対象のセル範囲または配列を意味します。たとえばA2:D10など複数列を含む範囲を指定可能です。テーブル形式の名前を使うこともでき、データが追加されても自動更新されるため管理が楽になります。行・列を拡張したり変更したりする可能性がある場合には、テーブル名または範囲を柔軟に指定しておくことが望ましいです。
構文要素「含む」の条件指定
「含む」は配列と同じ行数または列数の条件式を指定します。比較演算子(等しい 不等号 大なり小なりなど)を使うのが基本です。さらに複数条件を組みたい時には、論理演算子を使ってAND条件やOR条件にできます。ANDなら掛け算(*)、ORなら足し算(+)を使います。
構文要素「空の場合」の意味と設定
条件に一致する行・列がない場合には「空の場合」の引数が働きます。たとえば「該当なし」など文言を返すよう設定できます。ここを省略すると、何も返せないときにエラー(#CALC!)になるため、実務では指定しておくことが安全です。
Excel FILTER関数 使い方 をマスターする条件指定の応用

基本を理解したら、使い方を広げていきましょう。複数条件の使い方、部分一致、AND/OR条件などを学ぶとデータ分析やレポート作成でさらに威力を発揮します。実務でよく使われるパターンを具体例とともに説明します。
単一条件での抽出例
例えば営業部のメンバーを一覧抽出したい場合、配列を「社員全体」、条件を「所属 = 営業部」と設定します。数式は=FILTER(全体範囲, 所属列=”営業部”)。これにより条件に一致するすべての行が抽出されます。簡単ですが業務で頻繁に必要になる使い方です。
AND条件での複数条件抽出
AND条件を組むときは、複数の条件をすべて満たす行を取り出します。論理演算では掛け算(*)を使い、条件を丸括弧でくくると式の誤解を防げます。例えば「営業部かつ勤続年数5年以上」のような抽出が該当します。式例:=FILTER(範囲, (所属列=”営業部”)*(勤続列>=5), “該当なし”)。AND条件は業績評価など複数基準が絡む場面で有効です。
OR条件での抽出例
OR条件ではいずれかの条件を満たす行を抽出します。論理演算では足し算(+)を使います。例えば「営業部またはマーケティング部」のいずれかのメンバーを抽出したい時などです。式例:=FILTER(範囲, (所属列=”営業部”)+(所属列=”マーケティング部”), “該当なし”)。条件が増えても簡潔に記述できるのが強みです。
FILTER 関数 使い方 の応用テクニック:実務で便利な機能と組み合わせ

使い方の応用を進めると、単なる抽出以外にも高度な処理が可能になります。ここではSORT関数との組み合わせ、部分一致検索、列方向抽出などを見ていきます。データの表示を改善し、見栄えや分析のしやすさを向上させるためのテクニックが中心です。
SORT関数との併用で抽出結果を並び替える
FILTER関数で抽出した結果をさらにSORT関数で並べ替えることが可能です。例えば売上高の高い順に表示したいとき、FILTERで条件を抽出し、その結果をSORTで降順に並べます。式例:=SORT(FILTER(範囲, 条件, “該当なし”), 並べ替えしたい列番号, -1)。このように抽出と並び替えを一度に処理できるため、手動操作が大きく削減されます。
部分一致を使った抽出
完全一致だけでなく、部分一致で抽出したい場合にはSEARCH関数やISNUMBER関数などと組み合わせます。たとえば「商品コードにABCが含まれる」などの条件です。条件式として ISNUMBER(SEARCH(“ABC”, 対象列)) とし、TRUE/FALSEを返させてFILTERに渡します。これにより柔軟な抽出が可能になります。
列方向抽出と複数列の組み合わせ
FILTER関数は元データの複数列を一度に抽出できます。配列を複数列含む範囲に設定すると、指定した列全体を返します。さらに列方向の条件も設定できます。たとえば、列見出しに応じて抽出列を変える動的設計にする場合など、列方向抽出が非常に役立ちます。
FILTER関数 使い方 で注意したい互換性とエラー処理
便利なFILTER関数ですが、バージョン依存や入力ミスによるエラーなど注意点もあります。ここでは互換性の制限、展開先の設計、エラー回避の方法など、実務でトラブルにならないよう対策を解説します。
対応バージョンと動的配列の要件
この関数は動的配列機能に依存しています。使用できるのは現在のところ、Microsoft 365、Excel 2021、Excel 2024、Excelのウェブ版、モバイル版などです。Excel 2019以前の古いバージョンでは使用できないか、レガシー配列形式でしか動かず、意図したとおりにスピルしないケースがあります。組織での共有シートでは互換性を確認することが重要です。
スピルエラーとセル配置の注意点
FILTER関数を入力するセルの隣接領域にデータがあるとスピルできずに #SPILL! エラーになります。また、配列と条件で行数または列数が一致していないと #VALUE! エラーが発生します。従って先に展開先を確保し、条件と対象範囲の行列が揃っているかを常に確認する設計と操作が求められます。
エラー処理を組み込む例
条件に一致するデータが存在しないときに備えて、第3引数で返す値を指定します。文字列や空白などを返すことで見た目や利用者の理解を担保できます。加えて、条件指定ミスや数式書き間違いでも動作保証ができるよう、セル参照を使った条件入力や、部分一致処理でSEARCH関数が返すエラーを処理する関数と組み合わせることも推奨されます。
Excel FILTER 関数 使い方 の実践例で理解を深める

理論だけでなく具体的な実践例を見ていくと、FILTER関数の使い方がよりクリアになります。日報データや売上表、担当者別の案件管理など、業務にそのまま使えるパターンで確認しましょう。
売上表から地域別売上抽出のケース
例えば売上データ表に「地域」「商品」「数量」「売上額」があるとします。「関東地域」の売上だけ抽出するとき、配列に全体データを指定し、含むに「地域 = ‘関東’」とします。条件を別セル参照にしておくと、地域を変えるだけで他地域への抽出も可能となり柔軟性が上がります。
担当者とステータスで複合抽出する例
案件管理表で「担当者」「ステータス」「期限」などの列があり、たとえば「担当者A」「ステータス=完了」の両方に一致する案件を抽出したい場合、AND条件で組みます。式例:=FILTER(A2:D100,(担当列=”A”)*(ステータス列=”完了”),”案件なし”)。このように複数条件を設定することで、必要なデータのみを即座に抽出できます。
部分一致で商品コード検索を行う例
商品名や商品コードに特定のキーワードを含むものだけ取り出したい場合、SEARCH関数とISNUMBER関数を組み合わせます。たとえば「コードに XYZ が含まれるもの」。条件式として ISNUMBER(SEARCH(“XYZ”, コード列)) を使い、それを FILTER に渡すことで柔軟な抽出が可能です。
まとめ
FILTER関数は、幅広い条件指定と動的スピル機能によって、Excelでのデータ抽出を格段に効率化できます。基本構文を理解し、条件指定やエラー処理、バージョン対応などの注意点を押さえれば実務で非常に有用です。
さらに応用として、SORTとの併用、部分一致検索、列方向の抽出などを使いこなすことで、レポート作成やデータ分析の質も向上します。まずはシンプルな例から始めて、条件式やセル参照を工夫する設計に慣れていきましょう。
コメント