【Excel】FILTER関数で必要な行を条件抽出する方法

この記事は約5分で読めます。

今回は、ExcelのFILTER関数を使って、必要な行を条件抽出する方法を紹介します。

FILTER関数は条件に合うデータを取り出せる

Excelで一覧表を扱っていると、特定の担当者、部署、期限、ステータスだけを抜き出したい場面があります。フィルター機能でも絞り込みはできますが、抽出結果を別の場所に表示したい場合や、元データを残したまま確認用の表を作りたい場合はFILTER関数が便利です。
FILTER関数は、条件に合う行や列を取り出して表示する関数です。元データを編集せず、条件に合うデータだけを別表として表示できます。元の一覧と抽出結果を分けて管理できるため、報告用の一覧や確認用シートを作るときに使いやすい機能です。

基本の考え方を押さえる

FILTER関数では、抽出したい範囲と条件を指定します。たとえば、一覧表の中から「進行中」の行だけを取り出したい場合、表全体を抽出範囲にし、ステータス列が「進行中」と一致する条件を指定します。
考え方は、元データの各行に対して条件に合うかどうかを判定し、合った行だけを表示するというものです。条件に合う行が複数あれば、その分だけ結果が下へ展開されます。結果を表示するセルの下や右に入力済みのデータがあると、展開できずエラーになることがあります。
使う前に確認したい点は次の通りです。

  • 元データに見出し行がある
  • 抽出したい列の位置が分かっている
  • 結果を表示する場所に十分な空きがある
  • 条件に使う値の表記がそろっている
  • 元データの行数が増える可能性を考えている

最初は小さな表で試すと、結果がどのように広がるか理解しやすくなります。

ひとつの条件で抽出する

基本的な使い方は、ひとつの条件に合う行を抽出する方法です。たとえば、部署列が「営業部」の行だけ、期限列が特定の日付の行だけ、ステータス列が「未対応」の行だけを取り出すといった使い方があります。
条件に文字列を使う場合は、元データの表記ゆれに注意します。「営業部」と「営業
部」のように空白が入っていると、同じ意味でも別の値として扱われます。抽出結果がおかしいときは、条件式だけでなく元データの表記も確認します。
条件セルを別に用意して、そのセルを参照する形にすると、条件を変えるだけで抽出結果を切り替えられます。たとえば、部署名を入力するセルを作り、FILTER関数の条件にそのセルを使えば、部署名を変更するだけで一覧が更新されます。

複数条件で絞り込む

FILTER関数は複数条件の抽出にも使えます。たとえば「営業部」かつ「未対応」の行だけを取り出す場合、部署列とステータス列の条件を組み合わせます。複数の条件を同時に満たすデータを抽出したいときに便利です。
条件を組み合わせるときは、何を同時に満たしたいのか、どれかひとつを満たせばよいのかを分けて考えます。実務では「担当者がAさんで、期限が今月のもの」「ステータスが未対応または確認中のもの」など、目的に応じて条件が変わります。
複数条件を使うときの注意点は次の通りです。

  • 条件を増やす前に、ひとつずつ正しく抽出できるか確認する
  • 文字列と日付の条件を混ぜる場合は、日付の形式を確認する
  • 条件セルを使うと、抽出条件を変更しやすい
  • 空白を条件にする場合は、空欄と空白文字の違いに注意する

条件が複雑になった場合は、補助列を作って判定を分けると見通しがよくなります。

抽出結果を見やすく整える

FILTER関数の結果は、条件に合う行数によって自動で広がります。そのため、結果が表示される場所の周辺に余白を取っておくことが大切です。結果の右側や下側に別の表を置くと、行数が増えたときにエラーになることがあります。
抽出結果には、見出しを付けておくと読みやすくなります。元データの見出し行をコピーして上に置く、または関数で見出しも含めて表示する方法があります。報告用のシートでは、抽出条件を上部に表示しておくと、どの条件で作った一覧なのか分かります。
条件セル、抽出結果、注記の位置を分けると、更新しても崩れにくい表になります。関数の結果が広がる範囲を先に確保することが、FILTER関数を使いやすくするコツです。

該当なしの場合を設定する

条件に合うデータがない場合、FILTER関数はエラーを返すことがあります。報告用や共有用の表では、エラー表示のままだと分かりにくいため、該当なしの場合に表示する文字を指定しておくと便利です。
たとえば、条件に合う行がないときに「該当データなし」と表示すれば、関数が壊れているのではなく、条件に合うデータがないことが伝わります。確認する人が自分以外の場合は、このような表示が役立ちます。
該当なしの表示を入れるときは、後続の集計や参照に影響しない言葉を選びます。抽出結果をさらに別の関数で使う場合は、文字列が混ざることで計算に影響することがあるため、用途に合わせて表示内容を決めます。

テーブルと組み合わせる

FILTER関数は、Excelのテーブル機能と組み合わせると管理しやすくなります。元データをテーブルにしておくと、行が追加されたときに参照範囲が広がりやすくなります。毎月データが増える一覧や、担当者が追記する管理表に向いています。
テーブルを使うと、列名で参照できるため、数式の意味も読み取りやすくなります。たとえば、ステータス列や担当者列を名前で指定できるため、後から見たときに何を条件にしているのか分かります。
ただし、テーブルの列名を変更すると数式にも影響することがあります。列名は分かりやすく、あまり頻繁に変えない名前にしておくと安定します。

抽出条件を見える場所に置く

FILTER関数で作った表を共有する場合は、どの条件で抽出しているのかを見える場所に置きます。条件が数式の中だけに入っていると、受け取った人が抽出基準を判断しにくくなります。シート上部に部署名、担当者、期限、ステータスなどの条件セルを用意しておくと、一覧の意味が伝わりやすくなります。
条件セルを使う形にすると、抽出条件を変える操作も簡単です。数式を直接編集せずに条件だけを変えられるため、関数に慣れていない人にも扱いやすくなります。報告用の表では、条件セルの近くに更新日や作成者を入れておくと、いつの一覧なのかも分かります。

まとめ

ExcelのFILTER関数は、元データから条件に合う行を取り出し、別の場所に表示できる関数です。フィルター機能と違い、抽出結果を報告用や確認用の表として残しやすい点が便利です。
使うときは、抽出範囲、条件、結果の表示場所を整理し、該当なしの場合の表示も設定しておくと扱いやすくなります。複数条件やテーブルと組み合わせれば、更新しやすい一覧を作れます。Excelで条件抽出を行うときは、元データを壊さずに必要な行を取り出せるFILTER関数を活用すると、確認作業を進めやすくなります。