第1章:FILTER関数って何?基本の使い方をマスターしよう
仕事の中で「この条件に合ったデータだけを抽出したい!」というシーン、よくありませんか?
例えば、「売上が10万円以上のデータだけ見たい」「営業部だけの社員リストが欲しい」など…
そんなときに大活躍するのが、ExcelやGoogleスプレッドシートで使えるFILTER関数です。
この章では、関数にあまり慣れていない方でも理解できるように、FILTER関数の基本的な使い方を簡単な例とともに解説していきます。
FILTER関数とは?
FILTER関数は、ある範囲の中から「指定した条件に一致するデータ」だけを抽出する関数です。
フィルター機能と似ていますが、セルの中で条件を設定できるので、より柔軟で自動的なデータ抽出が可能です。
=FILTER(範囲, 条件)
例えば、B2:B10の売上データの中から、10万円以上のデータを抽出したい場合は、こんなふうに書きます。
=FILTER(B2:B10, B2:B10>=100000)
この式は、B2からB10までのセルを見て、その中で100,000以上の値だけを表示します。
FILTER関数の基本構文と引数の意味
- 第一引数:抽出したい元のデータ範囲
- 第二引数:そのデータをフィルターする条件
- 第三引数:(省略可能)条件に一致するデータがなかった場合に表示する値(Googleスプレッドシートのみ)
例えば、以下のような表があったとします。
| 名前 | 部署 | 売上(円) |
|---|---|---|
| 田中 | 営業部 | 150000 |
| 佐藤 | 企画部 | 90000 |
| 鈴木 | 営業部 | 120000 |
ここで「営業部のメンバーだけ表示したい」と思ったときは、次のような式になります。
=FILTER(A2:C4, B2:B4="営業部")
上記のFILTER関数では、B列(部署)が「営業部」の行だけを抽出し、A列からC列のすべてのデータを表示します。
FILTER関数のメリット
FILTER関数には、以下のようなメリットがあります。
- 条件を数式で柔軟に指定できる(別シートのセル参照なども可能)
- 元データを変更しても自動更新される
- 手動フィルターのようにいちいち操作しなくて良い
つまり、毎月の月次報告や営業成績の確認など、「条件に合うデータだけ一覧で見たい」といった作業を、グッと効率化できるのです。
まずは基本で慣れるのがカギ!
最初から複雑な条件を使うと混乱しがちなので、まずは「特定の金額以上の売上」や「部署ごとのメンバー表示」といった、単純な条件で試してみてください。
第2章では、実際の業務シーンを想定した「単一条件によるデータ抽出」の実例を紹介します。
さあ、一緒にFILTER関数を使いこなして、スマートなデータ整理術を身につけましょう!
第2章:単一条件の抽出をやってみよう
FILTER関数の基本を押さえたら、次のステップは「実際の業務で応用してみる」ことです。特に単一条件での抽出は、ビジネスシーンでも頻繁に登場するパターンです。
この章では、職場でありがちなケースを用いながら、シンプルな条件でのデータ抽出の実例を紹介していきます。
ケース1:売上が10万円以上の社員だけを抽出したい
例えば、あなたが営業チームのリーダーで「売上が10万円以上だったメンバーだけをピックアップして報告したい」とします。
そんなときは次のような表から、売上が基準を超えた人だけをFILTER関数で抜き出せます。
| 名前 | 部署 | 売上(円) |
|---|---|---|
| 田中 | 営業部 | 150000 |
| 佐藤 | 企画部 | 90000 |
| 鈴木 | 営業部 | 120000 |
| 伊藤 | 営業部 | 85000 |
この表で、売上が100,000円以上のデータを抽出する場合の式は以下の通りです。
=FILTER(A2:C5, C2:C5>=100000)
この式は、C列(売上)が100,000円以上の行だけを抽出し、A列からC列の情報をそのまま表示します。
結果として、田中さんと鈴木さんのデータだけが表示されます。
ケース2:部署が「営業部」の社員だけを抽出する
次によくあるパターンとして、「特定の部署のメンバーだけを表示したい」ケースがあります。
例えば人事部門が営業部の社員リストを確認したい場合、売上ではなく部署に条件を設定します。
=FILTER(A2:C5, B2:B5="営業部")
この式では、B列(部署)の中から”営業部”に該当する行だけを抽出します。
結果として「田中」「鈴木」「伊藤」の3名が表示されます。
職場での活用ポイント
FILTER関数を使えば、以下のような日常業務にスムーズに役立てることができます:
- 評価会議用に高成績者のみの一覧を抽出
- 月次報告時に目標達成メンバーだけを一覧化
- 特定の部署や担当者に絞ったアプローチリストの作成
これらはすべて「単一条件」だけで実現できます。もちろん、FILTER関数は元のデータが更新されても自動で反映されるため、何度もフィルター操作をやり直す手間もありません。
セル参照を使って動的に抽出条件を変える
さらに実務で便利なのが、抽出条件をセルで指定する方法です。例えば、部署名を指定するセル(例:E1)を用意し、以下のように設定します。
=FILTER(A2:C5, B2:B5=E1)
E1に「営業部」と入力すれば営業部の社員を表示、「企画部」と入力すれば企画部の社員を表示、といったように、表示内容がリアルタイムで変わるインタラクティブなシートになります。
まずは「一つの条件」で精度の高い抽出を
FILTER関数の強みは、条件をひとつだけでもとても強力に機能すること。
まずは一つの条件で確実に目的のデータが抽出できるようにしましょう。その感覚が身につけば、次章の「複数条件での抽出」もスムーズにステップアップできますよ。
次は、AND条件やOR条件を使った複数条件でのデータ抽出にチャレンジしてみましょう!
第3章:複数条件でのフィルター抽出に挑戦!
単一条件の抽出に慣れてきたら、次はもう一歩踏み込んで「複数の条件」を指定してデータを抽出してみましょう。
業務では「売上も部署も指定したい」「期間と担当者の両方で絞り込みたい」といったように、複数の条件を同時に満たすデータが欲しいシーンが多くあります。
この章では、AND条件(すべての条件を満たす)とOR条件(いずれかの条件を満たす)の書き方と違いを、実例を交えて紹介していきます。
AND条件(2つ以上の条件をすべて満たす)
例えば、「営業部かつ売上が10万円以上」の社員を抽出したい場合、2つの条件「部署=営業部」と「売上≧100000」を両方満たす必要があります。
このようなAND条件は、次のように式の中でアスタリスク(*)を使って記述します。
=FILTER(A2:C5, (B2:B5="営業部") * (C2:C5>=100000))
| 名前 | 部署 | 売上(円) |
|---|---|---|
| 田中 | 営業部 | 150000 |
| 佐藤 | 企画部 | 90000 |
| 鈴木 | 営業部 | 120000 |
| 伊藤 | 営業部 | 85000 |
この式では、部署が「営業部」かつ売上が100,000円以上という条件を両方満たす、田中さんと鈴木さんのデータだけが表示されます。
OR条件(いずれかの条件を満たす)
今度は、逆に「営業部の社員または売上が10万円以上の社員」を見たい場合、単体ではどちらか一方の条件を満たしていれば抽出されるようにしたいですよね。
このようなOR条件では、アスタリスクの代わりに加算記号(+)を使って表現します。
=FILTER(A2:C5, (B2:B5="営業部") + (C2:C5>=100000))
この式により、「営業部」または売上が100,000円以上といういずれかの条件に合致した次の4名が表示されます:
- 田中(営業部、かつ売上150,000)
- 佐藤(企画部、売上90,000 → 条件外)
- 鈴木(営業部、かつ売上120,000)
- 伊藤(営業部、売上85,000 → OK)
つまり、佐藤さん以外の3名が条件に合致します。
セル参照を組み合わせて動的に条件設定
実務で重宝される使い方に、セル参照と複数条件の組み合わせがあります。
たとえば、部署と売上の基準値を別のセル(例:E1に部署名、E2に金額)に入力させて、次のような式にすれば、誰でも簡単に抽出条件を変更できるシートが作れます:
=FILTER(A2:C5, (B2:B5=E1) * (C2:C5>=E2))
動的なフィルターは、月次レポートや評価資料など、状況に応じて要件が変わる資料作成にとても便利です。
AND条件とOR条件、使い方に注意!
よくある失敗の例として、カッコの付け忘れや、*と+を逆に使ってしまうケースがあります。
特に複数の条件を組み合わせると、構文が長くなって混乱しがちなので、一つずつ条件を試しながら式を組み立てるのがコツです。
複数条件で、分析の精度がグッと上がる
業務のデータ分析では、「誰が、どんな条件を満たしているか?」を見極めることが重要です。
FILTER関数で複数条件の抽出ができるようになれば、標準的なフィルター機能よりもはるかに柔軟で効率的なデータ管理と分析が可能になります。
次章では、このFILTER関数をさらに一段レベルアップさせて、他の関数と組み合わせた「ネスト(入れ子)」のテクニックに挑戦してみましょう!
第4章:ネスト(入れ子)でさらに高度なデータ分析
FILTER関数に少し慣れてきた方にぜひ覚えておいていただきたいのが、他の関数と組み合わせて使う=「ネスト」というテクニックです。
これは、FILTER関数の出力結果に別の関数を重ねることで、1回の関数実行でより高度なデータ処理や見やすい整形を行えるようにするものです。
この章では、ビジネスでよく使われる代表的な関数(SORTやUNIQUEなど)とFILTER関数を組み合わせた活用例を紹介していきます。
① SORT関数 × FILTER関数:抽出データを並び替える
たとえば「営業部の社員で、売上が多い順に並べたい」といったケース。FILTER関数だけでは抽出までしかできませんが、SORT関数と組み合わせれば、以下のように並び替えまで一括で行えます。
=SORT(FILTER(A2:C5, B2:B5="営業部"), 3, FALSE)
この式の動きは以下の通りです:
FILTER(A2:C5, B2:B5="営業部")で「営業部」社員だけを抽出- その結果に
SORT(..., 3, FALSE)を適用し、C列(売上)を降順(FALSE)で並び替え
結果として、営業部内で最も売上が高い順に社員が並ぶ一覧が完成します。
このように抽出と整理をワンステップで実行できるのが、ネストの大きな魅力です。
② UNIQUE関数 × FILTER関数:ユニークな値(重複なし)で分析
次に紹介するのは、UNIQUE関数との組み合わせ。特定条件で抽出されたデータから、重複を除いて一覧化したい場面で威力を発揮します。
たとえば「売上10万円以上を達成した部署名の一覧を出したい(重複なしで)」という場合、以下のように記述します。
=UNIQUE(FILTER(B2:B5, C2:C5>=100000))
この式では、「売上10万円以上」の条件に当てはまる行の部署名(B列)が抽出され、その後UNIQUEで重複が除かれます。
結果として、条件を満たした部署が一度ずつだけリストアップされるのです。
このようにネストを利用すると、一歩進んだ集計やカテゴリ分けがスムーズになります。
③ COUNTA × FILTER関数:条件に合う件数をカウント
FILTER関数は単純な抽出だけでなく、「条件に合った件数のカウント」にも使えます。
その際に便利なのがCOUNTAとの組み合わせです。
=COUNTA(FILTER(A2:A5, C2:C5>=100000))
これは「売上が100,000円以上の社員が何人いるか?」という問いに対する答えをくれる式です。A列の名前でフィルターをかけ、その件数を数えています。
このような使い方をすれば、会議用資料の件数確認にもシンプルに応用できますね。
注意点:関数の順番と範囲の一致に注意!
ネストを使う時によくあるミスは以下のようなものです:
- 関数の順番を間違える(FILTERを先に適用してからSORTする等)
- 範囲がずれている(例:SORT関数で指定する列がFILTERの結果と合わない)
複雑な式になるほど、小さな範囲の確認ミスや括弧の見落としが増えがちです。
式を一つずつ構築しながら動作確認すれば、正しく動かせるようになります。
FILTER関数×他関数のネストで「多機能レポート」が可能に
実務でありがたいのは、複数の分析やフィルター処理を、1つのシート上で完結できるという点です。
ネストを覚えれば、「フィルター→並び替え→集計→重複除去」といった分析を一連の式でこなせるため、自動化や効率化のレベルが大きく向上します。
次章では、こうしたスキルを活かして「実務でどう使えるか?」にフォーカスしたシーン別の活用例を紹介します!
第5章:実務で使える!シーン別FILTER関数活用例3選
これまででFILTER関数の基本から応用、さらには他関数との組み合わせ(ネスト)まで習得してきました。
この章ではいよいよ集大成として、実務での具体的なシーンを想定した活用例を3つご紹介します。
日々の業務の中で「こんな時に使えるかも」とすぐにイメージできる内容になっていますので、ぜひ自分の仕事に置き換えて読んでみてください。
ケース1:営業チームの「成績上位者リスト」を作成
毎月の営業報告で「成績上位者の名前と売上金額を一覧にしたい」場合、FILTER関数は非常に便利です。
売上10万円以上で営業部所属の社員だけを抽出し、さらに売上順に並び替えるには以下の式を使います。
=SORT(FILTER(A2:C100, (B2:B100="営業部") * (C2:C100>=100000)), 3, FALSE)
この式でできること:
- FILTER関数で「営業部かつ売上10万円以上」の社員を抽出
- SORT関数で売上(C列)を降順に並べ替え
上記を一式で自動表示できるため、人事やマネジメント層への報告資料もスマートに作成できます。
ケース2:特定エリアの顧客リストを都度生成
マーケティングや営業戦略の部署では、「●●市に住んでいて、購入履歴がある顧客だけ抽出したい」といった要望がよく出ます。
顧客名(A列)、住所(B列)、最終購入額(C列)の表があると仮定し、以下のように使います。
=FILTER(A2:C100, (B2:B100="大阪市") * (C2:C100>0))
この式では、「住所が大阪市」で「購入額が0より大きい(=購入履歴あり)」という顧客を絞り込みます。
地方キャンペーンや訪問営業リストの作成にも応用できますね。
ケース3:部署ごとのユニークな属性リスト抽出
部署別に管理されているスキルや保有資格などのデータがある場合、「重複しない資格名」や「ユニークな担当業務の一覧」などを出したいこともあります。
そんな時は、FILTERとUNIQUEのネストが大活躍。
=UNIQUE(FILTER(D2:D100, B2:B100="開発部"))
この式は、「開発部の社員が持っている資格」や「携わっている技術スタック」などを、重複を排除しながら一覧化してくれます。
こうしたリストは人材配置やプロジェクト編成の参考に使われ、チームの強みを把握する大切な材料になりますよ。
シートとの連携で「誰でも使えるツール」へ進化
FILTER関数は、セル参照を利用することで「誰でも使えるダッシュボード」に進化させることが可能です。
たとえば、部署名やエリア名を選択肢として用意すれば、他のユーザーが条件を切り替えるだけで、動的にリストが変化するシートを構築できます。
=FILTER(A2:C100, B2:B100=E1)
このような仕組みを作っておけば、上司や同僚が「わざわざ関数を触らずに」使えるツールになり、業務全体の効率アップにもつながります。
FILTER関数は”実務の即戦力”
FILTER関数は、ただデータを抜き出すだけでなく、業務に密着した「判断・活用」のベースを作るツールです。
今回紹介した以下の3つの活用例は、どれも日常業務へすぐに取り入れられるものばかりです。
- 営業成績の上位者抽出
- 地域別の顧客抽出
- 部署別のユニークスキル一覧
すべては「FILTER関数で条件を設定すること」から始まります。日々のシンプルな作業こそ、スプレッドシートで自動化・省力化しましょう!
このブログ記事の内容を参考に、あなたの業務にもどんどんFILTER関数を取り入れてみてください。きっと、明日の仕事がちょっとだけラクになるはずです。


コメント