Excelを使用してデータの抽出やレポート作成をしているとき、複数条件に合うデータを瞬時に取り出せたら便利なのに…と、考えたことはありませんか?
今回は、VLOOKUP関数ましてやVBAを組むほどではないけれど、日次や月次で繰り返し作業しているデータ抽出にかける時間を短縮させたい、という方に向けて「FILTER関数」の基本から応用までの使い方を丁寧にご紹介していきます。
監修:みずき さん
EXCEL女子の研修講師をしています。Excel研修では「覚える」だけではなく「理解する」ことで、自身の力としてExcelスキルを身につけられる研修を実施しています。研修をするたびにExcelが大好きになり、Excelってすごい!と実感しています。Excelの他には写真が好きで食べ物や風景を撮影しています!
FILTER関数とは、従来のフィルター機能と同様、指定した条件に合うデータを抽出できる関数です。
加えて
など、フィルター機能より汎用性が高く使い勝手がよいといったメリットがあります。
FILTER関数の基本構文は下記の通りです。
=FILTER(配列,含む,[空の場合])
選択した配列またはセル範囲から、指定した条件にあうデータを抽出
では早速、使用例を用いながら基本の使い方を確認していきましょう。
以下の「人口統計表」を使用して“関東”エリアにあたるデータをすべて抽出していきます。
抽出する元データは、テーブルにしておきましょう。
※FILTER関数の場合、元データをテーブルで作成しておくことで、データに変更が生じた場合にも自動的に抽出結果のデータも更新されます。
(1)“関東”エリアのデータを表示したい【E3】セルを選択
はじめに、“関東”エリアのデータを表示したい【E3】セルを選択します。
(2)数式バーに「=FILTER(A3:C12,B3:B12="関東")」と入力する
次に、数式バーに「=FILTER(A3:C12,B3:B12="関東")」と入力します。“関東”エリアのデータを表示したい【E3】セルを選択し、数式バーに「=FILTER(A3:C12,B3:B12="関東")」と入力します。この数式は、【A3:C12】のエリアにあたる【B3:B12】範囲から、“関東”にあたる条件を抽出する、という意味です。
(3)Enterキーを押す
すると、条件として指定した“関東”のエリアだけが全て抽出されます。
このように、一つのセルに抽出したい条件を入力すれば、簡単にデータを取り出すことができます。
FILTER関数では、条件にあう結果が存在せず、空の配列を返す場合「#CALC!」エラー(※)となります。
第2引数「含む」で指定した条件が範囲の中になく、第3引数の「[空の場合]」を省略した場合に、結果として以下のように「#CALC!」と表示されます。
※#CALC! エラーは、Excelエンジンが現在サポートしていないシナリオに遭遇した場合に発生します
第3引数を指定すれば、このようなケースに「#CALC!」ではなく、指定した値を表示させることができます。
以下の「人口統計表」を使用して指定の条件を“関西”エリアにし、該当する条件がない場合、[空の場合]の引数に指定した"No data"を表示させてみましょう。
(1)“関西”エリアのデータを表示したい【E3】セルを選択
はじめに、“関西”エリアのデータを表示したい【E3】セルを選択します。
(2)数式バーに「=FILTER(A3:C12,B3:B12="関西","No data")」と入力
次に、数式バーに「=FILTER(A3:C12,B3:B12="関西","No data")」と入力します。この数式は【B3:B12】の範囲から“関西”にあたる条件を抽出する、ない場合は"No data"と表示してください、という意味です。
(2)Enterキーを押す
すると、エリアの中に“関西”がなかったため、【E3】セルには"No data"が表示されました。
表示内容は、数値、文字列、セル参照、関数など様々指定できます。また、空の行に何も表示させず空白にしたいときは「""」と入力します。担当している実務に沿った内容を表示させましょう。
ではここからは、条件を複数指定してデータを抽出する方法について説明していきます。
FILTER関数を「OR条件」で指定する場合の構文は下記の通りです。
=FILTER(配列,(条件式1)+(条件式2),[空の場合])
選択したセル範囲または配列から、指定した複数条件のいずれかとあうデータを抽出※条件式はOR関数を使用せず、「+」でつなぎます。
それでは早速、以下の「3月売上表」から“売上500万円以上”または“販売個数5000個以上”どちらか一つ以上の条件を満たすデータのみを抽出していきます
(1)結果を表示したい【E4】セルを選択
はじめに、結果を表示したい【E4】セルを選択します。
(2)数式バーに「=FILTER(A4:C8,(B4:B8>=5000000)+(C4:C8>=5000))」と入力
次に、数式バーに「=FILTER(A4:C8,(B4:B8>=5000000)+(C4:C8>=5000))」と入力します。この数式は、売上金額にあたる【B4:B8】範囲から“売上金額500万以上”のデータ、または販売個数にあたる【C4:C8】範囲から“販売個数5000個以上”のデータのどちらかに該当していればデータを抽出してください、という意味です。
(3)Enterキーを押す
すると、両方の条件を満たしているB社と、売上金額500万円以上を満たしているE社が抽出されました。
FILTER関数「AND条件」で指定する場合の構文は下記の通りです。
=FILTER(配列,(条件式1)*(条件式2),[空の場合])
選択したセル範囲または配列から、指定した複数条件の全てとあうデータを抽出する※条件式はAND関数を使用せず、「*」でつなぎます。
では、先ほどと同じ以下の「3月売上表」から“売上金額500万円以上”と“販売個数5000個以上”両方の条件を満たすデータを抽出していきましょう。
(1)結果を表示したい【E4】セルを選択
はじめに、結果を表示したい【E4】セルを選択します。
(2)数式バーに「=FILTER(A4:C8,(B4:B8>=5000000)*(C4:C8>=5000))」と入力する
次に、数式バーに「=FILTER(A4:C8,(B4:B8>=5000000)*(C4:C8>=5000))」と入力します。この数式は、売上金額にあたる【B4:B8】範囲から“売上金額500万以上”のデータ、かつ販売個数にあたる【C4:C8】範囲から“販売個数5000個以上”のデータの両方に該当するデータを抽出してください、という意味です。
(3)Enterキーを押す
すると、“売上金額500万円以上”と“販売個数5000個以上”の両方の条件を満たしているB社のみ抽出されました。
このように、簡単に複数の条件に該当するデータ抽出する処理を実行できます。
他の関数との組み合わせは、フィルター機能では実現できない操作です。
下記では、FILTER関数とUNIQUE関数を組み合わせて、抽出したい条件をリストから選択できる便利な表を作成していきます。
以下のような「営業担当表(地域別)」を作成していきましょう。
この表は、【K2】セルのドロップダウンリストで営業担当者を指定すれば、担当地域と支店数を瞬時に抽出できる仕組みです。ではまず、UNIQUE関数を使用してリストを作 成していきます。
(2)Enterキーを押す
すると、選択した範囲からユニークの値のみが表示されました。
(3)【K2】を選択し、ドロップダウンリストを作成
ここから、ドロップダウンリストを作成していきます。ドロップダウンリストを作りたいセル【K2】を選択し、《データ》タブ→《データの入力規則》をクリックして、《設定》タブ→《入力値の種類(A)》の《リスト》を選択します。
(4)《元の値(S)》に「=M2#」を入力して《OK》をクリック
そして、《元の値(S)》に「=M2#」を入力して《OK》をクリックします。この数式は、選択した【K2】セルに、「=M2#」に入力された値を表示してください、という意味です。(※)
(5)結果を表示させたい【F3】セルの数式バーに「=FILTER(B3:D9,C3:C9=K2,"")」と入力する
さらにここから、抽出結果を表示させたい【F3】セルの数式バーに「=FILTER(B3:D9,C3:C9=K2,"")」と入力します。この数式は、【B3:D9】の担当にあたる【C3:C9】範囲から、【K2】セルのドロップダウンリストで選択された条件を抽出する、ない場合は空白を表示してください、という意味です。
(7)Enterキーを押す
すると、【K2】セルが空白のため何も表示されません。
(8)ドロップダウンリストで"B"を選択
担当者Bの担当地域と支店数を抽出したいので、【K2】セルで"B"を選択します。すると担当"B"の項目だけが抽出されました。
このように、これまでピボットテーブル経由で取得していたようなデータも、FILTER関数とUNIQUE関数を組み合わせることで瞬時にほしいデータを取り出すことができます。
今回ご紹介した例の表は、データ自体が少ないものですが、実務では大量のデータを扱うことが多いでしょう。ですので、ぜひFILTER関数を使用して、データの抽出やレポート作成の時間短縮を実現させていきましょう。
今回は、Microsoft365で使える「FILTER関数」の基本から、実務で役立つ応用までをご紹介しました。
これらの関数を使いこなせることで、業務の幅が広がり、作業時間も短縮できます。
当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。
社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。