Excelで複数列にオートフィルターを設定していると、「どの列で条件を絞り込んでいるのか分からなくなった」ということがあります。列数が多い表では、A列・B列・D列のように複数箇所で条件を設定すると、見落としやすくなります。
Excelでは、実際に絞り込み条件が設定されている列では、見出し右側のフィルターボタンの表示が通常の下向き三角形からフィルター形状のアイコンに変わります。まずはこの違いを見るのが最も簡単です。
ただし、列数が多い場合や横スクロールが必要な表では、アイコンだけでは確認しにくいこともあります。この記事では、フィルター中の列を見つける基本方法から、大規模な表で分かりやすく管理する方法まで解説します。
Excelでは絞り込み中の列だけフィルターアイコンが変わる
オートフィルターを設定した表では、各列の見出しにドロップダウンボタンが表示されます。まだ条件を指定していない列では通常のドロップダウン表示ですが、値・テキスト・数値・日付などの条件で実際に絞り込んでいる列では、ボタンにフィルターを示すマークが表示されます。
MicrosoftもExcelのフィルターについて、データがフィルターされている列ではフィルターボタンの表示が変わり、その列にフィルターが適用されていることを示すと案内しています。[参照] Microsoft「範囲またはテーブルのデータをフィルター処理する」
例えばA列・B列・D列に条件を設定している場合は、その3列の見出しにあるアイコンだけが「絞り込み中」を示す表示になります。C列が未設定なら、C列は通常のドロップダウン表示のままです。
「どの列か分からない」ときは見出し行を横に確認する
列数が少ない表なら、見出し行を左から右へ見るだけで絞り込み中の列を確認できます。フィルターが有効な列には、漏斗のようなフィルターアイコンが表示されます。
例えば「社員名」「部署」「勤務地」「雇用形態」「入社日」という5列があり、「部署」と「勤務地」だけ絞り込んでいる場合、その2列の見出しだけアイコンが変化します。
この方法のメリットは追加設定が不要なことです。Excel標準機能だけで利用でき、ファイルを開いた直後でも現在のフィルター状態を把握できます。
列が多いなら見出し行を固定すると確認しやすい
行数だけでなく列数も多い表では、スクロールしているうちに見出しが見えなくなり、フィルター状態を確認しづらくなることがあります。その場合は「ウィンドウ枠の固定」を利用すると便利です。
見出し行を常に表示しておけば、縦方向へ大量にスクロールしても、どの列がフィルター中なのか確認しやすくなります。Microsoftは「表示」タブの「ウィンドウ枠の固定」を使って、特定の行や列を画面上に固定できると案内しています。[参照] Microsoft「ウィンドウ枠を固定する」
フィルターを頻繁に使う一覧表なら、1行目を見出しとして固定しておくと操作性が大きく向上します。
テーブル化しておくとフィルター管理もしやすい
通常のセル範囲でもオートフィルターは利用できますが、継続的に使うデータならExcelの「テーブル」に変換しておく方法も有効です。テーブルでは見出し行にフィルターが標準で付き、データ追加時にも範囲が拡張されやすくなります。
Microsoftによると、Excelでデータをテーブル化すると、見出し行にフィルターボタンが自動的に追加されます。[参照] Microsoft「テーブルを作成して書式設定する」
列数が多い業務データでは、単なるセル範囲よりテーブルとして管理したほうが、並べ替えやフィルターを頻繁に使う場面で扱いやすくなることがあります。
フィルターを全部解除したいなら「クリア」を使う
どの列に条件が入っているのか探すより、一度すべての絞り込み条件を解除したい場合は、「データ」タブの「クリア」を利用できます。
この操作では、フィルター機能自体を削除するのではなく、設定されている絞り込み条件を解除して全データを再表示できます。その後、必要な列だけあらためて条件を設定すると整理しやすくなります。
Microsoftもフィルター条件を解除する方法として、特定列だけをクリアする方法と、すべてのフィルターをクリアする方法を案内しています。[参照] Microsoft「フィルターをクリアまたは削除する」
「A列・B列・D列」と文字で一覧表示する標準機能は基本的にない
Excelには、現在フィルターが適用されている列を「A,B,D」のように自動で一覧表示する分かりやすい標準パネルは基本的にありません。
そのため、通常の利用では見出し行のフィルターアイコンを確認する方法が中心になります。数列程度なら十分ですが、数十列ある表では「どこがフィルター中か」をもっと明確にしたいケースもあります。
列数が多く、毎回フィルター箇所を探すのが大変なら、VBAで「フィルター中の列名を一覧表示する」仕組みを作ることも可能です。ただし、マクロを使えない環境では標準のアイコン確認が安全です。
VBAならフィルター中の列を一覧表示できる
業務で頻繁に同じExcelファイルを使い、「現在どの列でフィルターしているか」を一覧で確認したい場合は、VBAを利用する方法があります。
例えばオートフィルターの各列について「On」になっているかを確認し、条件が設定されている列の見出し名をセルやメッセージボックスへ出力できます。
イメージとしては「現在のフィルター:部署、勤務地、雇用形態」のように表示する仕組みです。毎回数十列を目視する必要がなくなるため、大規模な管理表では有効です。
ただし、VBAを含むブックは通常「.xlsm」形式で保存する必要があり、会社や学校のセキュリティポリシーによってマクロが制限されている場合があります。単発の確認だけなら無理に導入する必要はありません。
スライサーが使えるデータなら絞り込み条件を視覚化しやすい
Excelテーブルやピボットテーブルでは、条件によっては「スライサー」を使う方法もあります。スライサーはボタン形式で絞り込み条件を操作できるため、「現在どの項目が選ばれているのか」を画面上で把握しやすくなります。
Microsoftによると、スライサーを使うとテーブルやピボットテーブルのデータをボタンでフィルターでき、現在のフィルター状態も示されます。[参照] Microsoft「スライサーを使用してデータをフィルター処理する」
例えば「部署」「勤務地」「雇用形態」の3項目を頻繁に絞り込むなら、その3つだけスライサーとして配置しておくと、どの条件が選択されているのか分かりやすくなります。
ただし、すべての列をスライサー化すると画面が煩雑になるため、頻繁にフィルターする重要項目だけに使うのがおすすめです。
目的別におすすめの確認方法
どの方法が最適かは、表の規模と利用頻度によって変わります。
| 状況 | おすすめ方法 |
|---|---|
| 列数が少ない | 見出しのフィルターアイコンを確認 |
| 縦に長い表 | 見出し行を固定してアイコンを確認 |
| 繰り返し使う一覧表 | Excelテーブル化 |
| 一度全部解除したい | 「データ」→「クリア」 |
| 数十列あり目視が大変 | VBAでフィルター列を一覧化 |
| 特定項目を頻繁に絞る | スライサーを利用 |
日常的なExcel利用なら、まず見出しのフィルターアイコンを確認するだけで十分です。より大きなデータを扱うようになった段階で、テーブル・スライサー・VBAなどを検討するとよいでしょう。
まとめ:フィルター中の列は見出しのアイコンで確認できる
Excelで複数列をフィルターしている場合、実際に絞り込み条件が設定されている列では、見出しのフィルターボタンが通常とは異なるフィルターアイコンに変化します。例えばA列・B列・D列を絞り込んでいれば、その3列の見出しだけを見れば判別できます。
列数が多い場合は見出し行を固定したり、データをテーブル化したりすると確認しやすくなります。また、特定項目を頻繁に絞り込むならスライサーも便利です。
「A,B,D列がフィルター中」のような一覧を常時表示したい場合は、標準機能だけでは難しいため、VBAでフィルター中の列名を抽出する方法が有効です。まずは標準のアイコン確認を使い、表の規模に応じてより見やすい方法へ拡張するとよいでしょう。


コメント