仕組みと動作原理
FILTER関数はExcel業務を効率化する代表的な関数です。指定した条件に基づいてデータ配列を動的に抽出し、自動展開(スピル)します。 複雑な集計や参照処理を簡素化し、データ分析の精度と生産性を飛躍的に高めます。
💡 わかりやすい要約
Sifts through a table of data and extracts only the rows that match your criteria, spilling the results down the sheet.
"Think of this like sifting sand through a sieve. Only the grains that match your rule pass through, while the pebbles stay behind."
構文.
標準Excel表記法=FILTER(配列, 含む, [空の場合])引数一覧.
この関数で指定できるすべての引数について詳しく解説します。
The range of cells you want to filter.
指定例:A2:B6A logical array condition that evaluates to TRUE or FALSE for each row.
指定例:B2:B6="Red"The value to return if no records meet the filter conditions.
初期値: "No Matches"具体的な計算例
ステップ別の実務シナリオFilter Overdue Projects
Extract only the rows where the Status is "Overdue".
| Task Name | Status | Result Task | Result Status | Target Status |
|---|---|---|---|---|
| Database Setup | Completed | — | — | Overdue |
| API Design | Overdue | — | — | — |
| Frontend Layout | In Progress | — | — | — |
=FILTER(A2:B6, B2:B6="Overdue", "None")Evaluates FILTER over the sample table cells, placing the verified output in cell C2:D6.
数式ジェネレーター
ウィザードを開く引数を入力するだけで、シートにそのまま貼り付けて使える数式を作成できます。
=FILTER()出力される値の特性
Returns "Calculated output" based on sample evaluation criteria and active cell references.
実務上のベストプラクティス
- To combine conditions, use multiplication `*` for AND logic (e.g. `(B2:B6="Red")*(C2:C6>50)`) and addition `+` for OR logic.
- Ensure cells below the filter formula are completely empty to let the array spill successfully.
よくあるミスと注意点
- If the spill range is blocked by existing text or numbers, the formula returns a #SPILL! error. Clear the blocking cells to fix it.
- FILTER is a dynamic array function and is only supported in Excel 365 and Excel 2021+.
各プラットフォーム対応表
実際のExcelおよびGoogleスプレッドシートの計算エンジン仕様に基づいた検証結果です。
In Excel 2019, use Advanced Filter (Data tab), a PivotTable, or INDEX/MATCH array formulas.
Introduced in Excel 365 and Excel 2021 as part of the Dynamic Array engine. Not available in Excel 2019.
Native Google Sheets formula (available in Sheets since early versions). Note that parameter order is =FILTER(range, condition1, [condition2]) in both platforms.
よくある質問と回答
技術解説Why does the FILTER function return a #CALC! error?↓
A #CALC! error indicates that no rows met your criteria and the optional third argument [if_empty] was left blank. Set [if_empty] to "No records" or "" to handle empty results.
What does the #SPILL! error mean when using FILTER?↓
A #SPILL! error occurs when the dynamic array results cannot expand because one or more cells in the output spill zone already contain existing text, numbers, or formatting. Clearing those obstructing cells immediately resolves the error.