初心者必見!FILTER関数の基本の使い方を完全ガイド!

関数
この記事は約10分で読めます。

FILTER関数とは

FILTER関数とは、複数条件に一致したデータを抽出したり、その抽出したデータを、元のデータはそのままに、抽出したデータのみ別の場所に反映することも可能な、とても便利な関数となります。

エクセルの標準機能に「フィルター機能」がありますが、手動でフィルターをかける必要があります。
その点、FILTER関数だと、関数を組んでおけば手動で操作する必要がなく、他の関数と一緒に組むことで複数条件の抽出や、自由度の高いデータ抽出も可能なので、この機会にぜひマスターしておきましょう!

練習用ファイルを用意しましたので、ファイルを使用される方は下記よりダウンロードしてください。

単一条件でフィルター設定

まずは基本的な動きを理解するために、単一条件でフィルター設定をしてみましょう。
A~C列に入っているデータから条件を指定してデータを抽出し、抽出した結果をE~G列に表示させます。

練習用ファイル「基本①」シートを使用します

文字列でフィルター設定

結果を反映させたい最初のセルとなるE2セルに = と入力後FILTER関数を入れます。途中まで入力すると候補が絞れるので、FILTER関数を選択したら Tab キーで使用する関数を確定させます。

FILTER関数
FILTER関数

使用する関数を確定させたら、第1引数を入力します。

第1引数は「配列」となり、フィルター設定したいデータが入っている範囲を全て選択します。
今回はA列~C列の2行目から最終行までが第1引数の範囲となります。

FILTER関数
FILTER関数

第1引数を入力したらカンマ , を打って第2引数を入力します。

第2引数は「含む」となりますが、ここではフィルター設定したい値が入っている列と、フィルター設定したい値をを入力します。ここでは「りんご」でフィルターをかけてみます。

入力方法は、関数内に直接入力する方法と、セルを指定する方法がありますが、まずは関数内に直接入力する方法をやってみましょう。

最初にフィルター設定したい値が入っている列を選択し = と入力します。

FILTER関数
FILTER関数

続けてフィルターをかけたい値を入力します。今回フィルターを設定する「りんご」は文字列なので、ダブルクオテーション で囲むのを忘れないようにしましょう。

FILTER関数
FILTER関数

フィルター設定したい列=フィルター設定したい値」までが第2引数となります。
第3引数は任意の引数なので、一旦ここで Enter を押してFILTER関数を完成させましょう。

E列~G列にりんごのデータのみ抽出することができました。

FILTER関数
FILTER関数

スピル機能でE2セルにFILTER関数を入力するだけで
全ての列&行にデータが反映されました。

スピル機能の記事は準備中なので、詳細を知りたい方は動画をご確認くださいね

スピル機能_基本編
=FILTER(フィルター設定したいデータ全範囲,フィルター設定したいデータ列="フィルター設定したい")
=FILTER(A2:C56,B2:B56="りんご")

セル指定でフィルター設定

上記の「文字列でフィルター設定」だけでなく、セル指定で同じようにフィルター設定することも可能です。

第1引数は「文字列でフィルター設定」と同じですが、第2引数の入力方法が少し変わりますので、第2引数から一緒にやってみましょう!

下記は、第2引数の範囲を指定し = を打ったところです。
ここまでは「文字列でフィルター設定」と同じですね。

FILTER関数
FILTER関数

次にフィルター設定したい値を入力しますが、ここでフィルター設定したい値が入っているセルを指定します。

今回はI2セルに検索値を入力するセルを設けていますので、I2セルを選択します。

FILTER関数
FILTER関数

文字列でフィルター設定」では第3引数は一旦省略したので
ここでは第3引数も指定してみましょう。

第2引数を入力したら、カンマ , を打って第3引数を入力します。

第3引数は「空の場合」となり、第2引数で指定した値がない場合、どのように表示するかを指定できます。
今回は「正しい検索値を入力してください」と表示するように組んでみます。
ここも文字列なので、ダブルクオテーション で囲むのを忘れないようにしましょう。

FILTER関数
FILTER関数

最後に Enter を押せば完成です。

FILTER関数
FILTER関数

このように、セルでフィルター設定したい値を指定すると、I2セルの値を変更するだけで変更可能なので、用途によって使い分けると良いですね。

FILTER関数
FILTER関数

第3引数を省略した際にフィルター結果がない場合は
#CALC!」エラーが表示されます。

=FILTER(フィルター設定したいデータ全範囲,フィルター設定したいデータ列="フィルター設定したい",フィルター結果がない場合の表示)
=FILTER(A2:C56,B2:B56=I2,"正しい検索値を入力してください")

複数条件でフィルター設定

上記で単一条件でのフィルター設定を練習して、FILTER関数の基本の動きが理解できたところで、複数条件でのフィルター設定を練習していきましょう。

練習用ファイル「基本②」シートを使用します

「~」かつ「~」でフィルター設定

ここではA列~D列のデータから「A店」かつ「りんご」のデータを抽出し、F列~I列に表示していきます。

結果を反映させたい最初のセルとなるF2セルに = と入力後FILTER関数を入れ、Tab キーで確定させます。

FILTER関数
FILTER関数

使用する関数を確定させたら、第1引数を入力します。
今回はA列~D列の2行目から最終行が第1引数となります。

ここまでは「文字列でフィルター設定」と同じですね。

FILTER関数
FILTER関数

第1引数を入力したら、カンマ , を打って第2引数を入力しますが、今回は複数条件です。
複数条件の場合は、それぞれの条件をカッコで囲むルールになっているので、まずカッコ ( を入力してから最初の「フィルター設定したい列=フィルター設定したい値」を入力します。

今回は「A店」かつ「りんご」なので、まず店舗名が入っているB2セルから最終行までを選択し = 打ったら”A店”と入力しカッコ ) を閉じます。

FILTER関数
FILTER関数

この時「A店」をダブルクオテーション で囲むのを
忘れないようにしましょう。

第2引数の最初の条件を指定したら、次に第2引数の2つ目の条件を指定しますが、今回の条件である「~」かつ「~」の場合は、1つ目の条件と2つ目の条件を、アスタリスク * で繋ぐルールになっているので、最初の条件のカッコを閉じたら、アスタリスク * を入力し、2つ目の条件の開始のカッコ ( を入力します。

FILTER関数
FILTER関数

あとは最初の条件と同じ要領で、2つ目の条件である「りんご」の列と値を入力し2つ目の条件のカッコ ) を閉じます。

FILTER関数
FILTER関数

第2引数を入力し、第3引数を省略する場合は、最後にFILTER関数のカッコ ) を閉じて Enter を押せば完成です。

第3引数を入力したい場合は、第2引数のすべての条件を入力後、最後のカッコ ) の後にカンマ , を打ってからFILTER関数のカッコ ) を閉じ、Enter を押して完了です。

FILTER関数
FILTER関数

F列~I列に「A店」の「りんご」のデータのみ抽出反映されました。

FILTER関数
FILTER関数
=FILTER(データ全範囲,(1つ目の条件)*(2つ目の条件),結果がない場合の表示)
=FILTER(A2:D56,(B2:B56="A店")*(C2:C56="りんご"),"")

★複数条件「~」かつ「~」の場合、条件をアスタリスク*で繋ぐ

「~」または「~」でフィルター設定

ここではA列~D列のデータから「りんご」または「お米」のデータを抽出し、F列~I列に表示していきます。

第1引数は「~」かつ「~」と同じで、第2引数の条件と条件のつなぎ方が少し変わりますので、第2引数から一緒にやってみましょう!

下記は、第2引数の最初の条件をし、カッコ ) を閉じたところです。
ここまでは最初の条件に違いはありますが、考え方は「~」かつ「~」と同じですね。

FILTER関数
FILTER関数

第2引数の最初の条件を指定したら、次に第2引数の2つ目の条件を指定しますが、今回の条件である「~」または「~」の場合は、1つ目の条件と2つ目の条件を、プラス+ で繋ぐルールになっているので、最初の条件のカッコを閉じたら、プラス + を入力し、2つ目の条件の開始のカッコ ( を入力します。

FILTER関数
FILTER関数

あとは最初の条件と同じ要領で、2つ目の条件である「お米」の列と値を入力し2つ目の条件のカッコ ) を閉じます。

FILTER関数
FILTER関数

第2引数を入力後、第3引数を省略する場合は、最後にFILTER関数のカッコ ) を閉じて Enter を押せば完成です。

第3引数を入力したい場合は、第2引数のすべての条件を入力後、最後のカッコ ) の後にカンマ , を打ってからFILTER関数のカッコ ) を閉じ、Enter を押して完了です。

FILTER関数
FILTER関数

F列~I列に「りんご」と「お米」のデータのみ抽出反映されました。

FILTER関数
FILTER関数
=FILTER(データ全範囲,(1つ目の条件)+(2つ目の条件),結果がない場合の表示)
=FILTER(A2:D56,(C2:C56="りんご")+(C2:C56="お米"),"-")

★複数条件「~」または「~」の場合、条件をプラス+で繋ぐ

「~以上」「~以下」など数値でフィルター設定

複数条件の最後に、「~以上」「~以下」など数値でフィルター設定する方法をやってみましょう!
ここではA列~D列のデータから「A店」の「500円以上」のデータを抽出し、F列~I列に表示していきます。

基本的には「~」かつ「~」と同じですが、第2引数で「~以上」と指定する部分をやってみましょう。

下記は、第2引数の最初の条件をし、今回の条件である「A店」かつ「500円以上」の条件同士をつなぐアスタリスク * を入力したところです。

FILTER関数
FILTER関数

次に2つ目の条件を入力してみましょう。
2つ目の条件は「500円以上」なので、カッコ ( を入力したら、単価が入っているD2セル~最終行までを選択します。

FILTER関数
FILTER関数

次に、500円「以上」を指定する記号 > = を入力したら500と入力しカッコ ) を閉じます。

FILTER関数
FILTER関数

500は文字列ではなく数値なので
ダブルクオテーション は不要です

第2引数を入力後、第3引数を省略する場合は、最後にFILTER関数のカッコ ) を閉じて Enter を押せば完成です。

第3引数を入力したい場合は、第2引数のすべての条件を入力後、最後のカッコ ) の後にカンマ , を打ってからFILTER関数のカッコ ) を閉じ、Enter を押して完了です。

FILTER関数
FILTER関数

FILTER関数
FILTER関数

F列~I列に「A店」の「単価500円以上」のデータのみ抽出反映されました。

=FILTER(データ全範囲,(1つ目の条件)*(2つ目の条件),結果がない場合の表示)
=FILTER(A2:D56,(B2:B56="A店")*(D2:D56>=500),"")

エクセル関数では、条件を指定するため記号を使用することが多いです。
ここでご紹介する記号は、他の関数でも同じ働きをするので覚えておきましょう。

~より大きい(~を含まない)>
~以上(~を含む)>=
~以下(を含む)<=
~より小さい(~を含まない)<
等しい=
~以外(~に等しくない)<>
0文字以上の任意の文字列(ワイルドカード*
1文字の任意の文字列(ワイルドカード?

今回、複数条件の練習では文字列での指定をやりましたが
練習用ファイルにはセルで指定する場合も練習できるよう
項目を設けていますので、ぜひ両方練習してみてください!

まとめ

FILTER関数の基本の動きをご紹介しました。

ここでご紹介したのは基本の動きなので、他の関数と組み合わせることで、もっと自由度の高い複雑なフィルターを設定することも可能です。

FILTER関数を自在に使用できるようになるためにも、まずは基本の動きを確実にマスターしておきましょう!

動画でもご紹介していますので、動画を見ながら操作を確認したい方は下記からどうぞ!

FILTER関数

励みになります!高評価とチャンネル登録よろしくおねがいいたします

タイトルとURLをコピーしました