FILTER関数 – 検索/行列

FILTER関数 – 条件に一致するデータを抽出する関数


1. 使い方と活用例

FILTER関数は、指定した配列から特定の条件に一致するデータだけを抽出して返す関数です。
データの絞り込みや、動的な一覧の生成に非常に便利で、従来のフィルター機能を関数として扱えるのが特徴です。

2. 基本の書式

=FILTER(配列, 条件範囲, [一致なしの場合の値])

3. 引数の説明

  • 配列 – 抽出元となるデータの範囲や配列を指定します。
  • 条件範囲 – 抽出条件を指定する論理式を含む範囲を指定します。TRUEに一致した行が抽出されます。
  • 一致なしの場合の値 – 条件に一致するデータがない場合に表示する値を指定します(省略可能)。

4. 使用シーン

  • 売上表から特定の担当者のデータだけを抽出したい場合
  • 在庫一覧から在庫数が一定以下の商品をリストアップしたい場合
  • 申込フォームの回答一覧から「未処理」のデータのみを抽出したい場合

5. 応用のポイント

複数条件で抽出する場合は、条件範囲を *(AND)+(OR) で組み合わせることができます。
FILTER関数はスピル機能に対応しており、結果は自動的に複数セルに出力されます。
「一致なしの場合の値」を省略すると、一致しない場合に #CALC! エラーになります。

6. 具体例とその解説

=FILTER(A2:C10, B2:B10="営業")

この式では、B列に「営業」と書かれている行だけを、A列〜C列の範囲から抽出して表示します。

=FILTER(A2:C10, (B2:B10="営業") * (C2:C10>=100))

この式では、「営業」であり、かつC列の値が100以上の行だけを抽出します。
条件を掛け合わせることで、AND条件のフィルターになります。

7. 関連関数の紹介

  • SORT関数 – 抽出結果を並び替える関数
  • UNIQUE関数 – 重複のない値だけを抽出する関数
  • IF関数 – 条件に応じて処理を分岐させる関数
  • INDEX関数 – 指定した位置の値を取得する関数

8. まとめ

FILTER関数は、従来の手動フィルター操作を動的に数式化できる強力なツールです。
簡単な構文で柔軟に条件を指定でき、結果も自動で更新されるため、データ分析やレポート作成に非常に役立ちます。
他のスピル関数と組み合わせれば、さらに高度なデータ処理が可能になります。

9. 対応バージョン

FILTER関数は、Microsoft 365(Excel for Microsoft 365)およびExcel 2021以降で使用可能です。
それ以前のバージョンでは利用できません。