FILTER関数の使い方:指定した条件を満たす行のデータ抽出する関数:Excel関数

FILTER関数の使い方:指定した条件を満たす行のデータ抽出する関数:Excel関数

FILTER関数は、指定した条件と一致する行のデータを抽出する関数です。

使い方は、例えば商品別の在庫金額一覧から商品コードで商品を特定し、その行のデータを抽出して表示するといった利用が考えられます。

ただし、FILTER関数はExcel365でしか使えない関数です。

FILTER関数の基本的な使い方

対応バージョン:Excel365 2019 2016 2013 2010

FILTER関数の書式です。

=FILTER(配列,含む,[空白の場合])
※カッコ内の「配列,含む,[空白の場合]」を引数といいます。

引数の説明

  • 〔配列〕:検索対象の配列やセル範囲を指定。
  • 〔含む〕:配列やセル範囲を検索する条件を指定。
  • 〔[空白の場合]〕:条件に該当するデータない場合に返す値を指定。省略可能ですが、省略すると条件に該当するデータがない場合はエラー「#CALC!」が返されます。

FILTER関数の使用例

下記サンプルは、在庫表(A5~C13)からF2セルの商品コードに一致した行を抜き出しています。

FILTER関数の基本的な使用例

=FILTER(A6:C13,A6:A13=F2,””)

数式の解説

在庫表(A5~C13)から商品コード(F2)をキーに一致した行を抜き出す。

  1. 第一引数〔配列〕には、在庫表データの「A6~C13」を指定。
  2. 第二引数〔含む〕には、検索列(ここでは商品コードの列のA6~A13)のなかから検索キー(F2)と一致するものを取り出す条件を指定。
  3. 第三引数〔空白の場合〕には、一致するデータが存在しない場合に表示する空白(””)を指定。

ここまでで、条件に一致すればサンプルのように表示されます。

なお、FILTER関数は配列数式(スピル)として動作しますので、戻り値は条件と一致するデータが複数ある場合、複数行に結果が表示されます。

抽出条件が複数ある場合

抽出条件が複数ある場合は、条件を「*」演算子などで結合して使用します。

抽出条件が複数ある場合

=FILTER(A6:D13,(A6:A13=G2)*(B6:B13=G3),””)

在庫表(A5~C13)から商品コードと産地の両方の条件を満たす行を抽出します。

  1. 第一引数〔配列〕には、在庫表データの「A6~D13」を指定。
  2. 第二引数〔含む〕には、検索する条件を指定。商品コード列のA6~A13がコード(G2)と一致するか、産地列のB6~B13が産地(G3)と一致するか調べる数式を指定。両方の条件をAND条件の「*」演算子で結合。2つの条件を満たした行だけが取り出される。
  3. 第三引数〔空白の場合〕には、一致するデータが存在しない場合に表示する空白(””)を指定。

両方の条件を満たす行は1行だけとなります。商品コード「200」は2行あるが、産地「北海道」は1行なので、結果は1行だけが取り出されます。

使える演算子

引数〔含む〕の条件式を複数指定する場合に使える、結合演算子の種類です。

演算子 意味
* AND条件。指定した条件の全てと一致
+ OR条件。指定した条件のどれかと一致
> 指定した条件を超える
>= 指定した条件以上
< 指定した条件を下回る
=< 指定した条件以下

FILTER関数と同じ分類の関数

FILTER関数と同じ系列の関数は以下のページで探せます。

Excel関数カテゴリの最新記事