FILTER関数を活用してみよう!

Excel

 エクセルには、特定の条件に一致するデータを簡単に抽出できる便利な関数「FILTER」があります。この関数を使えば、データの中から必要な情報を素早く取り出すことができ、業務効率が大幅にアップします。この記事では、FILTER関数の基本的な使い方をご紹介します。

FILTER関数って何?

 FILTER関数は、指定した範囲の中から特定の条件に一致するデータを抽出します。

=FILTER(array,include,[if_empty]

 それぞれの説明は以下の通りです!

FILTER関数の使い方

 今回は以下のデータで、実際にFILTER関数を実行していきたいと思います!「データ」シートにあるデータを、
①一つの条件でフィルターをかける場合
②複数の条件でフィルターをかける場合(2つ、3つ)
③フィルター条件に合致するものがない場合にメッセージを出す場合
に分けて紹介します。

■一つの条件でフィルターをかける場合
 
 例えば「単価」が「150」だけを抽出したい場合、以下のようにFILTER関数を使います。

=FILTER(データ!A2:C8,データ!C2:C8=150)

■複数の条件でフィルターをかける場合(2つ)

 複数条件を指定して抽出したいときもありますよね。条件を2つ設定する場合、乗算演算子「*」を使用します。
 例えば「種類」が「果物」、「単価」が「250以上」を抽出したい場合、以下のようにFILTER関数を使います。

=FILTER(データ!A2:C8,(データ!A2:A8="果物")*(データ!C2:C8>=250))

■複数の条件でフィルターをかける場合(3つ)
 
 条件を3つ設定する場合も同様です。例えば「種類」が「果物」、「単価」が「300以上」、「商品」が「モモ」以下のようにFILTER関数を使います。

=FILTER(データ!A2:C8,(データ!A2:A8="果物")*(データ!C2:C8>=300)*(データ!B2:B8="モモ"))

■フィルター条件に合致するものがないときにメッセージを出す場合

 条件を設定した場合、対象がないとエラーが発生します。対象がない場合にエラーメッセージを表示することもできます。以下のように、[IF_EMPTY]欄に表示したいメッセージを入力します。
※[IF_EMPTY]欄に記述がないと、「#CALC!」というエラーが表示されます。

=FILTER(データ!A2:C8,データ!C2:C8=500,"対象データがありません")

この式は、売上が100以上のデータを抽出し、その結果を売上の降順(-1)で並べ替えます。

■SORT関数と組み合わせ、並び替えて抽出することも可能

 SORT関数と組み合わせることで、抽出したデータを並び替えることも可能です!以下のケースでは、金額が大きい順番(降順)に並び替えしています。(一つの条件でフィルターをかけたデータに、SORT関数を追加して、表示順番を変えてみました)

=SORT(FILTER(データ!A2:C8,(データ!A2:A8="果物")*(データ!C2:C8>=250)),3,-1)

 SORT関数については補足で詳細を記載していますが、今回は
・「3」→3列目(=単価)
・「-1」→降順(上から数が大きい順番に並び替える) ※逆に昇順(上から数が小さい順番に並び替える場合、「1」もしくは引数自体を省略します。
でソートをかけています。

<補足>SORT関数って何?

 SORT関数とは、指定した範囲または配列の順番を並び替えします。

=SORT(array,[sort_index],[sort_order],[by_col])

それぞれの説明は以下の通りです!

 オートフィルターとの違いは、元データには影響しないこと(新しい範囲に数式で表示)や条件を数式などで設定しておくと、自動的に条件が反映されるなど様々あります。状況に応じて使い分けされると、一層作業の効率化につながると思いますので、ぜひ活用されてみてください!

今回の内容が少しでも参考になれば幸いです。
ご覧いただき、ありがとうございました!

コメント

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