FILTER関数は、指定した条件と一致する行のデータを抽出する関数です。
使い方は、例えば商品別の在庫金額一覧から商品コードで商品を特定し、その行のデータを抽出して表示するといった利用が考えられます。
ただし、FILTER関数はExcel365でしか使えない関数です。
FILTER関数の基本的な使い方
対応バージョン:Excel365 2019 2016 2013 2010
FILTER関数の書式です。
=FILTER(配列,含む,[空白の場合])
※カッコ内の「配列,含む,[空白の場合]」を引数といいます。
引数の説明
- 〔配列〕:検索対象の配列やセル範囲を指定。
- 〔含む〕:配列やセル範囲を検索する条件を指定。
- 〔[空白の場合]〕:条件に該当するデータない場合に返す値を指定。省略可能ですが、省略すると条件に該当するデータがない場合はエラー「#CALC!」が返されます。
FILTER関数の使用例
下記サンプルは、在庫表(A5~C13)からF2セルの商品コードに一致した行を抜き出しています。

=FILTER(A6:C13,A6:A13=F2,””)
数式の解説
在庫表(A5~C13)から商品コード(F2)をキーに一致した行を抜き出す。
- 第一引数〔配列〕には、在庫表データの「A6~C13」を指定。
- 第二引数〔含む〕には、検索列(ここでは商品コードの列のA6~A13)のなかから検索キー(F2)と一致するものを取り出す条件を指定。
- 第三引数〔空白の場合〕には、一致するデータが存在しない場合に表示する空白(””)を指定。
ここまでで、条件に一致すればサンプルのように表示されます。
なお、FILTER関数は配列数式(スピル)として動作しますので、戻り値は条件と一致するデータが複数ある場合、複数行に結果が表示されます。
抽出条件が複数ある場合
抽出条件が複数ある場合は、条件を「*」演算子などで結合して使用します。

=FILTER(A6:D13,(A6:A13=G2)*(B6:B13=G3),””)
在庫表(A5~C13)から商品コードと産地の両方の条件を満たす行を抽出します。
- 第一引数〔配列〕には、在庫表データの「A6~D13」を指定。
- 第二引数〔含む〕には、検索する条件を指定。商品コード列のA6~A13がコード(G2)と一致するか、産地列のB6~B13が産地(G3)と一致するか調べる数式を指定。両方の条件をAND条件の「*」演算子で結合。2つの条件を満たした行だけが取り出される。
- 第三引数〔空白の場合〕には、一致するデータが存在しない場合に表示する空白(””)を指定。
両方の条件を満たす行は1行だけとなります。商品コード「200」は2行あるが、産地「北海道」は1行なので、結果は1行だけが取り出されます。
使える演算子
引数〔含む〕の条件式を複数指定する場合に使える、結合演算子の種類です。
演算子 | 意味 |
---|---|
* | AND条件。指定した条件の全てと一致 |
+ | OR条件。指定した条件のどれかと一致 |
> | 指定した条件を超える |
>= | 指定した条件以上 |
< | 指定した条件を下回る |
=< | 指定した条件以下 |
FILTER関数と同じ分類の関数
FILTER関数と同じ系列の関数は以下のページで探せます。