Excel関数

FILTER

条件に一致する行だけ抽出します。

FILTER(array, include, [if_empty])

FILTER関数のメリット

FILTER関数を使えば、元の表はそのままの状態を保ちつつ、絞り込んだ結果を別の場所に表として表示できます。 元データを直接並べ替えたりフィルターをかけたりする必要がないため、複数の条件で同時に結果を比較したい場合に特に便利です。

第2引数(含む)の書き方

第2引数の「含む(include)」では、全体のデータからどのようなデータを抽出したいかを比較演算子などを使って指定します。 たとえば G4:G9>=180 と指定すると、G4からG9の範囲で180以上の値を持つ行だけを抽出します。 TRUE/FALSE の配列を返す式であれば何でも使えるため、等号(=)や不等号(>、<、>=、<=)のほか、複数条件の組み合わせも可能です。

「文字列を含む」で絞り込む場合は、ワイルドカードではなく ISNUMBER(SEARCH("文字", 範囲)) を使うのが定番です。

文字を含む行を抽出

=FILTER(A2:D8, ISNUMBER(SEARCH("東京", C2:C8)), "該当なし")

C列に「東京」を含む行だけを返します。SEARCHは見つかった位置を数値で返し、見つからない場合はエラーになります。

複数条件と組み合わせる

=FILTER(A2:D8, (B2:B8="食品")*ISNUMBER(SEARCH("りんご", A2:A8)), "該当なし")

FILTERでは条件同士を掛け算するとAND条件になります。「カテゴリが食品」かつ「商品名にりんごを含む」のように絞り込めます。

大文字小文字を区別したい場合は SEARCH の代わりに FIND を使います。

引数の意味

array

必須

参照範囲を指定します。ドラッグまたは開始/終了セルの順クリックで入力できます。

include

必須

比較式や計算式などの式を入力します。

if_empty

任意

文字列を入力します(必要に応じて " " で囲みます)。

使い方の例

FILTERを使い、B列のカテゴリが食品行だけをA〜D列から抽出し、該当がなければ「該当なし」を返してください。 範囲指定は同じ引数欄で開始セルから終了セルまでドラッグで可能です。

#
A商品ID
Bカテゴリ
C商品名
D売上
2P001食品リンゴ1200
3P002食品バナナ980
4P003文具ノート450
5P004文具ペン300
6P005食品ぶどう1500
7P006文具定規250
8

関数の使い方(式)

=FILTER(A2:D8, B2:B8="食品", "該当なし")

結果

P001, 食品, リンゴ, 1200 | P002, 食品, バナナ, 980 | P005, 食品, ぶどう, 1500

この関数を練習する

FILTER のよくある質問

FILTER の使い方は?

抽出元の範囲、残す行の条件、該当なしの場合の表示を順に指定します。「文字列を含む」で抽出する場合は、ワイルドカードではなく ISNUMBER(SEARCH("東京", C2:C8)) のように TRUE/FALSE 配列を作り、FILTER(A2:D8, ISNUMBER(SEARCH("東京", C2:C8)), "該当なし") の形で使います。

FILTER の練習はどこでできますか?

「この関数を練習」ボタンから、FILTER の練習モードをすぐ開始できます。

FILTER の引数は何ですか?

基本の引数は 対象範囲、抽出条件、空の場合の値 です。 必須引数を入れたあと、必要に応じて任意引数を追加します。