【Excel】フィルターの詳細設定で複雑な条件のデータを抽出する

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

今回は、Excelで膨大なデータの中から、複雑な条件を組み合わせて必要なデータだけを正確に抽出する「フィルターの詳細設定(アドバンスドフィルター)」の使い方について紹介します。

通常のフィルター機能の限界

Excelでデータを探す際、見出しの横に「▼」マークを付けて絞り込む「オートフィルター」機能は、誰でも日常的に使っている非常に便利な機能です。
例えば、「部署が『営業部』の人だけを表示する」といった単純な抽出であれば、オートフィルターで十分事足ります。しかし、「『営業部で売上が100万円以上』または『企画部で売上が50万円以上』の人」といった、「AND(かつ)」と「OR(または)」が複雑に絡み合う条件を指定しようとすると、通常のオートフィルターでは設定が難しくなります。
このような高度な抽出条件を視覚的に整理し、かつ抽出した結果を「別の場所」にコピーして出力できるのが、「フィルターの詳細設定」機能の最大の強みです。

詳細設定を使うための事前準備

この機能を使うためには、あらかじめシート上に「条件を入力するための専用の表(条件範囲)」を作成しておく必要があります。ここが通常のフィルターと大きく異なる点です。

条件範囲の作り方

元のデータ(リスト)の上部や、右側の空いたスペースに条件を入力する場所を作ります。

  • 元のデータの見出し(列名)をコピーし、空いている場所に貼り付けます。これが条件の「見出し」になります。
  • 貼り付けた見出しのすぐ下のセルに、抽出したい条件を入力します。
  • 例えば、「部署」の下に「営業部」、「売上」の下に「>=1000000」と入力します。

AND条件とOR条件の書き方のルール

条件の入力方法には、重要なルールがあります。

  • 横に並べて書く(AND条件):
    同じ行(横)に条件を書くと、「Aであり、かつBである」という意味になります。先ほどの例のように、1行目に「営業部」と「>=1000000」を並べると、この両方を満たすデータだけが対象になります。
  • 縦にずらして書く(OR条件):
    違う行(縦)に条件を書くと、「Aである、またはBである」という意味になります。2行目に「企画部」と「>=500000」と入力すると、1行目の条件と2行目の条件のどちらか一方でも満たせば抽出されるようになります。

この「縦と横」のルールを使うことで、どんなに複雑な条件でも表現することが可能になります。

詳細設定を実行してデータを抽出する

条件の表が完成したら、実際に抽出を実行します。

抽出の実行手順

  • 元のデータ(リスト)の中のどこか1つのセルをクリックして選択状態にします。
  • 「データ」タブを開き、「並べ替えとフィルター」グループの中にある「詳細設定」ボタンをクリックします。
  • 「フィルター オプションの設定」ダイアログボックスが開きます。
  • 「リスト範囲」には、元のデータ全体が自動的に選択されていることを確認します。(点線で囲まれています)
  • 「検索条件範囲」の入力欄をクリックし、先ほど作成した「条件の見出しと条件を入力したセル」をすべてドラッグして選択します。
  • 「OK」をクリックすると、元のデータが絞り込まれ、条件に合致したものだけが表示されます。

抽出結果を別の場所にコピーする

元のデータを直接絞り込むのではなく、元のデータはそのまま残しておき、抽出された結果だけを別の場所にリストとして書き出したい場面で、この機能は真価を発揮します。

別の場所への抽出方法

  • 先ほどの「フィルター オプションの設定」ダイアログボックスで、一番上にある抽出先を「指定した範囲」に変更します。
  • すると、一番下の「抽出範囲」という入力欄が入力可能になります。
  • この入力欄をクリックし、結果を表示させたい空白のセル(例:H1セルなど)を1つだけクリックして指定します。
  • 「OK」をクリックします。

これで、指定した場所を起点として、条件に合ったデータだけが新しくコピーされて表示されます。元のデータを壊すことなく、安全に分析用のデータを取り出すことができるため、非常に実用的です。

まとめ

Excelの「フィルターの詳細設定」は、条件用の表を別に作るというひと手間が必要ですが、その分オートフィルターでは不可能な「複雑なOR条件」の指定や、「別の場所への結果の一括コピー」を可能にしてくれます。毎月のデータ集計で、決まった複雑な条件でデータを抜き出す作業がある場合は、この条件範囲を一度作っておくことで、作業の大幅な自動化とスピードアップが期待できます。