楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

【エクセル】FILTER(フィルター)関数で条件に一致するデータを抽出しよう!

6 min 1,886 views
エクセル初心者

エクセル初心者

エクセルのFILTER(フィルター)関数の使い方を教えて。どんなことができるのかな?

FILTER(フィルター)関数は、条件に一致するデータを抽出できる便利な関数だよ。これから基本的な使い方について、詳しく解説するね。

Dr.オフィス

Dr.オフィス

今回は、エクセルのFILTER(フィルター)関数について、解説します。

フィルター機能を使ってデータを抽出する際に、元の表はそのままにして、抽出結果を別の表で表示しておきたいということはありませんか。

抽出条件が何通りもある場合や、抽出条件を微調整したい場合など、元の表と抽出結果を別にしておくと確認がしやすくなりますよね。

そのような時には、FILTER(フィルター)関数がおすすめです。

この記事を読むと、エクセルのFILTER(フィルター)関数を使って、データを抽出する方法について、理解することができますよ。

FILTER(フィルター)関数で条件に一致するデータを抽出する簡単ステップ
  1. フィルターを設定するセル範囲または配列を指定
  2. 抽出する条件を指定
  3. 指定した条件にあうデータが空のときに返す値を指定
    (省略した場合は、『#CALC!』と表示される)

PCサポート歴10年以上の私が、FILTER(フィルター)関数の使い方について、詳しく解説するよ。

Dr.オフィス

Dr.オフィス

FILTER(フィルター)関数は、オートフィルターと同じように、行数の多いデータからも簡単にデータを抽出することができます。

また、FILTER(フィルター)関数には新しい機能が追加されており、短時間で数式の入力が可能です。

エクセルのフィルター機能の基本的な使い方については、こちら≫【エクセル】フィルター機能の設定と解除方法!範囲を指定してデータ抽出!初心者必見で詳しく解説しています。

こちらの記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

【エクセル】FILTER(フィルター)関数とは

エクセルのFILTER(フィルター)関数は、Excel 2021以降または、Microsoft 365のバージョンから使えるようになった新しい関数です。

フィルター機能と同じように、条件に一致するデータを抽出することができます。

ポイント

FILTER(フィルター)関数とは

=FILTER(配列,含む,空の場合)

意味:選択した配列またはセル範囲から、指定した条件に一致するデータを抽出することができます。

まず最初に、念のため自身のExcelでFILTER(フィルター)関数が使えるのかを確認しておきましょう。

FILTER関数の確認
FILTER関数の確認
  1. 数式バーに[=F]を入力
  2. 関数の候補一覧に『FILTER』が表示されることを確認

関数の候補一覧に『FILTER』が確認ができれば、FILTER(フィルター)関数が使用できるExcelとなります。

また、FILTER関数は、Excel 2021より前にはなかった『スピル』(ひとつのセルに数式を入力するだけで隣接したセルに値が入力される)機能も含まれている、とても便利な関数です。

『スピル』機能については、こちら≫エクセルのスピルを徹底解説!新機能を使いこなして仕事効率アップ!で詳しく解説しています。

基本的なFILTER(フィルター)関数の使い方

FILTER関数を設定するための準備
FILTER関数を設定するための準備

それでは、上記データベースを使って、基本的なFILTER(フィルター)関数の使い方を見ていきましょう。

条件は、変更や確認がしやすいように『K列』のセルにて管理する方法で解説します。

FILTER(フィルター)関数に設定する条件

『商品名』が『お茶』のデータ

  1. STEP

    FILTER(フィルター)関数を入力

    数式バーにFILTER関数を入力
    数式バーにFILTER関数を入力
    1. セルF3を選択
      (このセルの位置から抽出結果が表示される)
    2. 数式バーに『=FILTER(』を入力
    3. 『fx(関数の挿入)』ボタンを選択
  2. STEP

    『関数の引数』を入力

    『配列』『含む』『空の場合』をそれぞれ入力
    『配列』『含む』『空の場合』をそれぞれ入力

    『関数の引数』ダイアログボックスが表示されたら、下記を設定しましょう。

    1. 『配列』:『A3:D17』を入力
      (データ全体の範囲を指定)
    2. 『含む』:『B3:B17=K3』を入力
      (『B3:B17』の範囲で、条件となるセル番地『K3』を指定)
    3. 『空の場合』:『””』を入力
      (省略した場合は、『#CALC!』と表示される)
    4. [OK]を選択
    抽出条件の説明
    抽出条件の説明

    『含む』に入力する値が、抽出条件となります。

  3. STEP

    抽出結果が表示される

    FILTER関数で条件に一致したデータを抽出
    FILTER関数で条件に一致したデータを抽出

    『商品名』が『お茶』のみのデータを抽出することができましたね。

    『関数の引数』ダイアログボックスを表示せずに、直接数式を入力する場合は『=FILTER(A3:D17,B3:B17=K3,””)』または、『=FILTER(A3:D17,B3:B17=”お茶”,””)』となります。

  4. STEP

    『スピル』機能の確認

    『スピル』機能の確認
    『スピル』機能の確認

    『スピル』は、数式を1つのセルに入力するだけで隣接したセルに値が入力される機能です。

    そのため、セルF3以外の他のセルにも自動的に数式が反映され結果が表示されます。

    スピルによって結果が表示されているセルを選択すると、数式がグレーで表示されていることが分かります。これは『ゴースト』と呼ばれており、直接編集したり、削除したりすることはできません。

FILTER(フィルター)関数は、1つのセルに数式を入力するだけで簡単にデータを抽出できるね。

Dr.オフィス

Dr.オフィス

FILTER(フィルター)関数で複数の条件を指定する方法

FILTER(フィルター)関数は、複数の条件を指定して、データを抽出することができます。

それぞれの条件を『()(カッコ)』で囲み、or条件は『+(プラス)』、and条件は『*(アスタリスク)』でつなげます。

or条件

それでは、or条件から設定してみましょう。

FILTER(フィルター)関数に設定する条件

『商品名』が『コーヒー』または、『単価』が『2000』より大きいデータ

  1. STEP

    FILTER(フィルター)関数を入力

    数式バーにFILTER関数を入力
    数式バーにFILTER関数を入力
    1. セルF3を選択
    2. 数式バーに『=FILTER(』を入力
    3. 『fx(関数の挿入)』ボタンを選択
  2. STEP

    or条件を『+(プラス)』でつなげる

    2つの条件を『+』でつなぐ
    2つの条件を『+』でつなぐ
    1. 『配列』:『A3:D17』を入力
    2. 『含む』:『((B3:B17=K3)+(D3:D17>K4))』を入力
      (『K3、K4』条件を入力しているセル番地)
    3. 『空の場合』:『””』を入力
    4. [OK]を選択
  3. STEP

    抽出結果が表示される

    FILTER関数で条件に一致したデータを抽出
    FILTER関数で条件に一致したデータを抽出

    『商品名』が『コーヒー』または、『単価』が『2000』より大きいデータが抽出されましたね。

    『条件』のセル内容を変更すると抽出結果に即時反映される
    『条件』のセル内容を変更すると抽出結果に即時反映される

    また、上記のように指定する条件の『単価』を『3500』に変更すると、連動して抽出結果が表示されます。

    このように、条件を『K列』のセルにて管理している場合は、セルの内容を変更すると即時に抽出結果も反映されます。

    『関数の引数』ダイアログボックスを表示せずに、直接数式を入力する場合は『=FILTER(A3:D17,((B3:B17=K3)+(D3:D17>K4)),””)』または、『=FILTER(A3:D17,((B3:B17=”コーヒー”)+(D3:D17>2000)),””)』となります。

条件に指定する『大きい』『小さい』『以上』『未満』などは、比較演算子を使っているよ。詳しくは、『フィルターで使える比較演算子』を参考にしてね。

Dr.オフィス

Dr.オフィス

and条件

続いて、and条件を設定しましょう。

FILTER(フィルター)関数に設定する条件

『商品名』が『食品』かつ、『単価』が『500』以上のデータ

  1. STEP

    FILTER(フィルター)関数を入力

    数式バーにFILTER関数を入力
    数式バーにFILTER関数を入力
    1. セルF3を選択
    2. 数式バーに『=FILTER(』を入力
    3. 『fx(関数の挿入)』ボタンを選択
  2. STEP

    and条件を『*(アスタリスク)』でつなげる

    2つの条件を『*』でつなぐ
    2つの条件を『*』でつなぐ
    1. 『配列』:『A3:D17』を入力
    2. 『含む』:『((B3:B17=K3)*(D3:D17>=K4))』を入力
      (『K3、K4』条件を入力しているセル番地)
    3. 『空の場合』:『””』を入力
    4. [OK]を選択
  3. STEP

    抽出結果が表示される

    FILTER関数で条件に一致したデータを抽出
    FILTER関数で条件に一致したデータを抽出

    『商品名』が『食品』かつ、『単価』が『500』以上のデータを抽出されましたね。

    『関数の引数』ダイアログボックスを表示せずに、直接数式を入力する場合は『=FILTER(A3:D17,((B3:B17=K3)*(D3:D17>=K4)),””)』または、『=FILTER(A3:D17,((B3:B17=”食品”)*(D3:D17>=500)),””)』となります。

2つの条件を組み合わせる

or条件とand条件を組み合わせて、データを抽出することも可能です。

FILTER(フィルター)関数に設定する条件

『商品名』が『お茶』かつ、『単価』が『80』より小さいデータ
or(または)
『商品名』が『酒』かつ、『評価』が『●』かつ、『単価』が『2600』より大きいデータ

2つのand条件を『+』でつなげる
2つのand条件を『+』でつなげる
  1. 『配列』:『A3:D17』を入力
  2. 『含む』:『((B3:B17=K3)*(D3:D17<K4))+((B3:B17=K5)*(C3:C17=K6)*(D3:D17>K7))』を入力
    (『K3、K4、K5、K6、K7』は条件を入力しているセル番地)
  3. 『空の場合』:『””』を入力
  4. [OK]を選択
FILTER関数で条件に一致したデータを抽出
FILTER関数で条件に一致したデータを抽出

このように、or条件とand条件を組み合わせて、データを抽出することができます。

条件の変更が簡単にできて、その後の抽出結果も一瞬で表示されるから、とても便利だね。

Dr.オフィス

Dr.オフィス

【エクセルのFILTER関数】に関するQ&A

Q

FILTER(フィルター)関数の代替はありますか?

A

オートフィルターを使うと、条件に一致するデータを抽出できます。詳しくは、【エクセル】フィルターで複数の条件から検索しよう!便利な詳細設定の使い方を解説を参考にしてみてください。

Q

FILTER(フィルター)関数は、どんな関数ですか?

A

エクセルのフィルター機能と同じように条件に該当するデータを抽出できる関数です。

Q

FILTER(フィルター)関数が使えません。いつ追加された関数ですか?

A

Excel 2021以降または、Microsoft 365のバージョンで使用できます。

明示的に条件と抽出結果を確認するならFILTER関数がおすすめ!

今回は、エクセルのFILTER(フィルター)関数の使い方について、解説しました。

FILTER(フィルター)関数を使うと、抽出結果を別の表で簡単に確認できましたね。

また、Microsoft 365から追加された『スピル』機能も重なり、短時間で数式の入力が可能です。

条件の設定には少し慣れが必要ですが、繰り返し確認しながらコツをつかんでいきましょう。

最後に、FILTER(フィルター)関数で、条件に一致するデータを抽出する簡単ステップについて、おさらいします。

おさらい
  1. フィルターを設定するセル範囲または配列を指定
  2. 抽出する条件を指定
  3. 指定した条件にあうデータが空のときに返す値を指定
    (省略した場合は、『#CALC!』と表示される)

また、今回は紹介していませんが、FILTER(フィルター)関数と他の関数を組み合わせると、業務の幅が広がり、作業時間も短縮できます。

そのためにも、まずは基本の使い方をマスターしましょう。

エクセルのフィルター機能の基本的な使い方については、こちら≫【エクセル】フィルター機能の設定と解除方法!範囲を指定してデータ抽出!初心者必見で詳しく解説しています。

関連記事