エクセルのFILTER関数の使い方をお探しですね。
広告
毎日のエクセル作業が劇的にラクになる!FILTER関数で自動データ抽出
毎日エクセルで膨大なデータを扱っていると、「この条件に合うデータだけ見たい…」という場面、よくありますよね。
フィルターをかけたり、別シートにコピペしたり、正直面倒だなと思っている方も多いはず。
実は、そんな悩みを一気に解決してくれる便利な関数があるんです。
それが「FILTER関数」。
一度設定すれば、データが更新されても自動で抽出してくれる優れものなんです。
この記事では、FILTER関数の基本的な使い方から、複数の条件を組み合わせた応用テクニックまで、わかりやすく解説していきます。
FILTER関数って何がすごいの?普通のフィルターとの違い
エクセルで「データを絞り込む」といえば、列の見出しにある▼ボタンを押して条件を選ぶ「オートフィルター」を思い浮かべる方が多いと思います。
でも、Microsoft 365やExcel 2021から使えるようになった「FILTER関数」は、それとはちょっと違った便利さがあるんです。
従来のオートフィルターは、元のデータ表そのものを折りたたんで表示する仕組みでした。
だから、同じシートで別の作業をしようとすると邪魔になったり、データが増えるたびにフィルターをかけ直す必要があったんですよね。
一方、FILTER関数を使うと、元データはそのまま残して、別の場所に抽出結果だけを表示できます。
しかも、元データに新しい行が追加されたり内容が変わったりしても、抽出結果が自動で更新されるんです。
いちいち手動で操作する必要がないので、忙しい業務中には本当に助かります。
**FILTER関数の主なメリット**
– 元データを触らずに、別の場所に抽出結果を表示できる
– データが追加・変更されても自動で結果に反映される
– 1つの数式を入力するだけで、複数行・複数列に結果が広がる(スピル機能)
「スピル」というのは、1つのセルに入力した数式の結果が、隣のセルにも自動的に広がっていく新しい機能のこと。
今までみたいに、数式を下までコピーする手間がなくなるので、作業ミスも減って効率がグンと上がります。
FILTER関数の基本的な使い方
FILTER関数の書き方は、思ったよりシンプルです。
基本の形はこんな感じ。
“`
=FILTER(配列, 含む, [空の場合])
“`
それぞれの意味を見ていきましょう。
– **配列**:抽出したいデータ全体の範囲(見出し行は除く)
– **含む**:どんな条件で絞り込むか(例:B列が”東京”など)
– **[空の場合]**:条件に合うデータが1つもない時に表示する文字(省略してもOK)
実際に使ってみよう
例えば、こんな表があるとします。
– A列:社員名
– B列:担当エリア
– C列:売上金額
この中から「東京」エリアの社員だけを抽出したい場合、結果を表示したいセルに次のように入力します。
“`
=FILTER(A2:C10, B2:B10="東京")
“`
Enterキーを押すと、条件に合った社員のデータが自動的に複数行にわたって表示されます。
スピル機能のおかげで、1つの数式を入力するだけでOKなんです。
もっと便利に使うコツ
ここでワンポイント。
元データを「テーブル」に変換しておくと、さらに便利になります。
普通のセル範囲(A2:C10みたいな指定)だと、11行目以降に新しいデータが追加されたときに、数式を書き直さないといけません。
でも、テーブルにしておけば、データが増えても自動で範囲が広がって、抽出結果にもちゃんと反映されるんです。
もう1つ、「[空の場合]」という3つ目の引数について。
これを省略した状態で条件に合うデータがないと、「#CALC!」というエラーが表示されてしまいます。
見た目もよくないので、こんな風に書いておくのがおすすめです。
“`
=FILTER(A2:C10, B2:B10="東京", "該当なし")
“`
こうすれば、データがない時も「該当なし」と表示されて、エラーを避けられます。
複数の条件を組み合わせて抽出する方法
実際の仕事では、「東京エリアで、しかも売上が100万円以上」みたいに、複数の条件を組み合わせて絞り込みたいことが多いですよね。
FILTER関数なら、そんな複雑な条件設定も簡単にできちゃいます。
複数条件を設定するときは、「*(アスタリスク)」と「+(プラス)」という記号を使います。
すべての条件を満たすデータを抽出(AND条件)
「東京エリア**かつ**売上100万円以上」のように、すべての条件を満たすデータだけを抽出したい場合は、条件を「*」でつなぎます。
“`
=FILTER(A2:C10, (B2:B10="東京")*(C2:C10>=1000000), "該当なし")
“`
それぞれの条件をカッコで囲んで、「*」で掛け合わせるイメージです。
両方の条件を満たした行だけが抽出されます。
どれか1つでも満たせばOK(OR条件)
「東京エリア**または**大阪エリア」のように、どちらかの条件に当てはまればいい場合は、「+」でつなぎます。
“`
=FILTER(A2:C10, (B2:B10="東京")+(B2:B10="大阪"), "該当なし")
“`
「+」で足し合わせることで、どちらかの条件に合うデータがすべて抽出されます。
さらに複雑な条件も可能
慣れてくると、「東京で100万円以上、または大阪で150万円以上」みたいな、もっと複雑な条件も設定できるようになります。
カッコをうまく使って計算の順番を整理すれば、1つのFILTER関数だけで実現できるんです。
VLOOKUP関数では難しかったこういう柔軟な抽出ができるのが、FILTER関数の大きな魅力ですね。
他の関数と組み合わせてもっと便利に
FILTER関数だけでも十分強力ですが、他の関数と組み合わせると、さらにパワーアップします。
特におすすめなのが「UNIQUE関数」との連携です。
UNIQUE関数と組み合わせて選択式の抽出システムを作る
UNIQUE関数は、重複を除いた一覧を作ってくれる関数です。
これとFILTER関数を組み合わせると、こんな便利な仕組みが作れます。
1. UNIQUE関数で担当者の重複のないリストを作る
2. そのリストを「データの入力規則」でドロップダウンリスト(プルダウン)にする
3. FILTER関数の条件に、そのプルダウンのセルを参照させる
こうすると、プルダウンで担当者を選ぶだけで、その人の売上データだけがパッと表示される仕組みの完成です。
数式を書き換える必要がないので、エクセルに詳しくない人でも簡単に使えます。
元データはそのまま保護して、抽出用のシートだけを共有すれば、「間違ってデータを消しちゃった!」なんてトラブルも防げますよ。
エラーを防ぐ工夫
もう1つ大事なのが、エラー対策です。
先ほど紹介した「該当なし」の設定は基本ですが、条件のセルが空白の時にどうするかも考えておくといいですね。
IF関数を組み合わせて、「条件が入力されていなければ何も表示しない、入力されていればFILTER関数を実行する」という条件分岐を入れておくと、よりスマートな仕上がりになります。
“`
=IF(E2="", "", FILTER(A2:C10, B2:B10=E2, "該当なし"))
“`
こんな感じで、E2セルが空白なら何も表示せず、何か入力されていればその条件で抽出する、という設定ができます。
まとめ:FILTER関数でデータ作業の時短を実現しよう
今までマクロ(VBA)を組まないと実現できなかったような複雑なデータ処理も、FILTER関数を使えば関数だけで手軽に作れるようになりました。
最初は少し難しく感じるかもしれませんが、基本をマスターすれば、毎日のデータ整理や分析の時間が驚くほど短縮されます。
ぜひこの記事を参考に、実際の業務で試してみてください。
一度設定してしまえば、あとはデータが自動で更新されていくので、本当にラクになりますよ。
エクセル作業のストレスから解放されて、もっと大切な仕事に時間を使えるようになるはずです!
広告
