エクセルの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関数を使えば関数だけで手軽に作れるようになりました。

最初は少し難しく感じるかもしれませんが、基本をマスターすれば、毎日のデータ整理や分析の時間が驚くほど短縮されます。

ぜひこの記事を参考に、実際の業務で試してみてください。

一度設定してしまえば、あとはデータが自動で更新されていくので、本当にラクになりますよ。

エクセル作業のストレスから解放されて、もっと大切な仕事に時間を使えるようになるはずです!

広告