FILTER関数:配列から条件に一致するデータを抽出する
FILTER 関数は Excel で用意されている関数の一つで、引数に指定した配列の中から条件に一致するデータを抽出します。ここでは Excel における FILTER 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021
(Last modified: )
FILTER関数の定義
FILTER
関数は引数に指定した配列のデータの中で条件に一致したデータを抽出して取得します。
1 番目の引数に取得する対象の配列やセル範囲を指定します。この配列の中から条件に一致するデータを取得します。そして 2 番目の引数にデータを抽出する条件を記述します。条件は「条件と比較する値が含まれる配列やセル範囲」「演算子」「比較する値」を使って記述します。
例えばデータを抽出する範囲として B3:B8 、条件と比較する値が含まれる範囲として D3:D8 に設定します。
条件として D3:D8 の範囲の各セルに入力されている値に対して 25 以上のデータを抽出します。この場合 2 番目の引数に指定する条件は次のようになります。
D3:D8>=25
※ 条件を設定するのに使用する比較演算子については「比較演算子と算術演算子の利用」を参照されてください。
この条件に一致するデータの行を調べ、データを抽出する範囲の中から同じ行のデータを抽出します。
条件に一致するデータが見つからなかった場合
例えば条件として D3:D8>40
のように設定すると、条件に一致するデータが一つもありません。この場合は #CALC!
と表示されます。
3 番目の省略可能な引数に値を指定することで、条件に一致するデータが見つからなかった場合に代わりにほ表示させることができます。下記では 3 番目の引数に "No Data" を設定しています。
複数列のデータを抽出する
データの抽出の範囲は 1 列だけでなく複数列のデータを抽出することができます。例えばデータを抽出する範囲として B3:D8 に設定します。
条件に一致する行と同じ行にあるデータを抽出しますが、今回は範囲として指定した 3 列分のデータを抽出しています。
複数の条件を設定する
複数の条件を使って A 且つ B のように設定したり A または B のように設定することができます。
複数の条件をANDでつなげる
複数の条件を使って A 且つ B のように設定するには、条件式を括弧で囲んだものを *
でつないで記述します。
(条件式1)*(条件式2)
この場合は条件式 1 と条件式 2 が共に真の場合に抽出します。
例えば D3:D8>=25
且つ C3:C8="男性"
のように設定するには演算子 *
を使って次のように記述します。
(D3:D8>=25)*(C3:C8="男性")
複数の条件をORでつなげる
また複数の条件を使って A または B のように設定するには、条件式を括弧で囲んだものを +
でつないで記述します。
(条件式1)+(条件式2)
この場合は条件式 1 または条件式 2 の少なくとも一つが真の場合に抽出します。
例えば D3:D8>=25
または C3:C8="女性"
のように設定するには演算子 +
を使って次のように記述します。
(D3:D8>=25)+(C3:C8="女性")
FILTER関数の使い方
それでは実際に FILTER
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
条件に一致したデータを抽出したものを表示する B12 セルを選択し、次のように入力しました。 FILTER
関数の 1 番目の引数にデータを抽出する対象となるセル範囲の B3:D8 を指定します。またデータを抽出する条件として D3:D8>C10
を設定しました。
=FILTER(B3:D8,D3:D8>C10)
Enter
キーを押すと、 B12 セルには次のように表示されます。
C10 セルに入力した年齢よりも大きなデータを抽出して表示しました。それでは C10 セルに 26 を入力してみます。
B12 セルには新しい条件に一致するデータを抽出して表示しました。
-- --
Excel における FILTER 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。