🔍 FILTER関数とは
FILTER関数は、定義した条件に基づいてデータの範囲をフィルター処理できる関数です。この関数は、従来の手動フィルター機能とは異なり、数式として機能するため、元データが変更されても自動的に結果が更新されます。
📋 基本構文
=FILTER(配列, 含む, [空の場合])
引数の詳細
- 配列(必須): フィルター処理するセル範囲または配列を指定
- 含む(必須): フィルター条件を指定。ブール値(TRUE/FALSE)の配列で判定
- 空の場合(省略可): 条件に合うデータがない場合に返す値を指定
🎯 対応環境
利用可能なバージョン
Excel for Microsoft 365、Excel 2024、Excel 2021、Excel for the webで利用可能です。
重要な注意点
- Excel 2019以前: FILTER関数は利用できません
- Google スプレッドシート: 同様の機能が利用可能
📊 基本的な使用例
単一条件でのフィルタリング
=FILTER(A2:C10, B2:B10="りんご")
この例では、B列が「りんご」の行のみを抽出します。
複数条件(AND条件)
複数条件をAND条件で指定する場合は、乗算演算子(*)を使用します。
=FILTER(A2:C10, (B2:B10="りんご")*(C2:C10>1000))
複数条件(OR条件)
OR条件の場合は加算演算子(+)を使用します。
=FILTER(A2:C10, (B2:B10="りんご")+(B2:B10="みかん"))
🎨 スピル機能について
FILTER関数では配列が返され、式の最終結果である場合はスピルします。つまり、Enter キーを押すと、適切なサイズの配列範囲が動的に作成されます。
スピルの動作例
元データ範囲: A1:C5
FILTER関数結果: 自動的に必要な範囲に展開
⚠️ エラー対処法
#CALC!エラーの対処
FILTER関数では、条件にあう結果が存在せず、空の配列を返す場合「#CALC!」エラーとなります。
対処法: 第3引数を指定する
=FILTER(A2:C10, B2:B10="存在しない値", "該当なし")
エラーを含む条件への対処
引数「含む」の計算結果が1行でもエラーを含んでいる場合、FILTER関数全体がエラーとなります。
対処法: IFERROR関数と組み合わせる
=FILTER(A2:C10, IFERROR(FIND("検索値", B2:B10), FALSE))
🚀 実践的な活用例
1. 売上データの分析
=FILTER(売上データ, (月="2024年1月")*(売上>100000))
2. 顧客データの絞り込み
=FILTER(顧客リスト, 地域="東京都")
3. 在庫管理での活用
=FILTER(商品リスト, 在庫数<10)
💡 他の関数との組み合わせ
SORT関数との組み合わせ
SORT関数と組み合わせて、フィルタリング後に並び替えることができます。