KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でドロップダウンリストの選択内容に基づいてデータをフィルターするには、どうすればよいですか?

著者Xiaoyang変更日

Excel では、多くのユーザーが標準のフィルター機能を使ってデータを絞り込むことに慣れていることでしょう。しかし、ドロップダウンリストの選択に基づいてデータをインタラクティブにフィルターや表示したい場面も少なくありません。たとえば、ドロップダウンメニューから選んだ項目に一致する情報だけを動的に表示するよう、データ行を自動で更新したいケースが考えられます(下のスクリーンショット参照)。このアプローチにより、ユーザーフレンドリーなレポートやダッシュボード、インタラクティブフォームを簡単に実現できます。本記事では、1 枚または2 枚のワークシート上で、ドロップダウンリストの選択内容に応じてデータをフィルターや視覚的にハイライト表示するための実用的な方法をいくつかご紹介します。目的に応じて柔軟に選べる多彩なオプションをご提供します。

ドロップダウンリストを使用してデータをフィルターする様子のスクリーンショット

ヘルパー数式を使って1 枚のワークシート内でドロップダウンリストの選択に基づいてデータをフィルターする

VBA コードを使って2 枚のワークシート間でドロップダウンリストの選択に基づいてデータをフィルターする

条件付き書式を使用する - ドロップダウンの選択と一致する強調表示された行の範囲


ヘルパー数式を使って1 枚のワークシート内でドロップダウンリストの選択に基づいてデータをフィルターする

ドロップダウンリストに基づいてデータをフィルターするには、一致する行を動的に抽出するためのヘルパー列を数式で設定します。この方法は、マクロを使わずに同じワークシート上に該当するレコードのみを表示したい場合に最適です。以下の手順に従ってください。

1。まず、ドロップダウンリストを挿入しましょう。ドロップダウンを配置したいセルを選択し、データ>データの入力規則>データの入力規則に進んでください。これで、ユーザーがフィルター条件としてアイテムを選べるセルが完成します!

データの入力規則機能を有効にする様子のスクリーンショット

2データの入力規則ダイアログボックスの設定タブで、次の値を許可するドロップダウンからリストを選択し、選択ボタンのスクリーンショットボタンをクリックしてドロップダウンリストの値範囲を指定します。リストのソースとして名前付き範囲やテーブルを使用すれば、後でリストが自動的に最新の状態に保たれます。

データの入力規則ダイアログボックスを設定する様子のスクリーンショット

3。ドロップダウンリストの設定が完了したら、任意のアイテムを選択してフィルターを適用しましょう。セル D2 に次の数式を入力してください(ドロップダウンの選択肢が列 H にあると仮定)。

=ROWS($A$2:A2)

ここでは、A2が一致対象となるデータを含む列の先頭セルを示しています。必要に応じてフィルハンドルを下にドラッグして、すべての関連行に適用しましょう。このヘルパー列を使えば行番号が自動生成され、後から行を参照するのがぐっと簡単になります!

ROWS関数を使用して連番のヘルパー列を作成する様子のスクリーンショット

4。次に、セル E2 に次の数式を入力してください。

=IF(A2=$H$2,D2,"")

この数式は、A2の値がH2のドロップダウン選択と一致するかをチェックします。一致した場合はD2の行番号を表示し、そうでない場合はセルを空白のままにします。これはフィルター処理の重要なステップです。H2(ドロップダウンセル)の参照が意図せず変更されないよう、十分ご注意ください。

数式を使用して2つ目のヘルパー列を作成する様子のスクリーンショット

5。セル F2 に次の数式を入力してください。

=IFERROR(SMALL($E$2:$E$17,D2),"")

この数式を使えば、フィルター後のデータの行数を取得し、対応するエントリを後から返すことが可能になります。範囲 E2:E17がすべての数式を含むセルをカバーしていることを確認し、必要に応じてフィルハンドルを下方向に伸ばしてください。

数式を使用して3つ目のヘルパー列を作成する様子のスクリーンショット

6。フィルター結果を表示するには、セル J2 に次の数式を入力してください。

=IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"")

この数式をJ2からL2にコピーすると、最初の一致レコードが表示されます。このステップでは、ヘルパー列の結果を活用して、ドロップダウンでの選択に基づいた実際のデータ行を取得します。元のデータが異なる範囲を使用している場合は、列を調整してください。

ドロップダウンリストの選択に基づいて最初のフィルター済み行を取得するための数式を使用する様子のスクリーンショット

A2:C17は元のテーブル、F2はフィルター済みのヘルパー列、J2は出力を表示したいセルです。

7。すべての出力列でフィルハンドルを下にドラッグし、一致するすべてのレコードを表示します。

すべてのフィルター結果を表示するスクリーンショット

8。これで、ドロップダウンリストからアイテムを選択するたびに、その下のテーブルが自動的に更新され、選択内容に一致する行だけが表示されるようになります!

ドロップダウンリストの選択に基づく異なるフィルター結果のスクリーンショット

Kutoolsのドロップダウンリストコレクションのスクリーンショット

Kutools の強化機能でExcel のドロップダウンリストをさらにパワーアップ

Kutools for Excel の強化されたドロップダウンリスト機能で、さらに高い生産性を実現しましょう。この機能セットは標準のExcel 機能を超え、ワークフローを効率化する多彩な機能を提供します。

  • 複数選択可能なドロップダウンリストを作成する:複数の項目を同時に選択して、データ処理をさらに効率化!
  • ドロップダウンリストにチェックボックスを追加:スプレッドシートでのユーザー操作性と視認性がさらに向上します。
  • 動的ドロップダウンリストを作成する:データが変更されると自動的に更新され、常に正確な情報を提供します。
  • ドロップダウンリストを検索可能にする:必要な項目を素早く見つけて、時間と手間を大幅に節約できます。

VBA コードを使って2 枚のワークシート間でドロップダウンリストの選択に基づいてデータをフィルターする

場合によっては、あるワークシートのドロップダウンリストからアイテムを選択した後、別のワークシートのデータをフィルターしたいこともあるでしょう。たとえば、Sheet1 に選択用のセルがあり、Sheet2 にフィルター対象のテーブルがあるケースなどが該当します。こうした要件は数式 alone では実現できません。なぜなら、Excel の数式はイベントに基づいて他のシートを直接更新できないからです。そのため、実用的な解決策として VBA を活用するのがおすすめです。このアプローチは、ソース範囲とユーザー入力が明確に分離されたダッシュボードやレポート、サマリーワークブックに最適です。

1。ドロップダウンリストを含むシートタブ(例:Sheet1)を右クリックし、コードの表示を選択します。Microsoft Visual Basic for Applicationsウィンドウが開いたら、空のモジュールに次のコードをコピー&ペーストしてください。

VBA コード:2 枚のシート間でドロップダウンリストの選択に基づいてデータをフィルターする

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Not Intersect(Range("A2"), Target) Is Nothing Then
        Application.EnableEvents = False
        If Range("A2").Value = "" Then
            Worksheets("Sheet2").ShowAllData
        Else
            Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
        End If
        Application.EnableEvents = True
    End If
End Sub

:コード内では、A2がドロップダウンセル、Sheet2がフィルターを適用するシート、AutoFilter 1がフィルター対象の列を示しています。データ構成に応じてこれらの値を適宜調整してください。実際の構造とワークシート名・セル名が一致していない場合、実行時エラーが発生する可能性があります。予期しない動作が起きた際は、シートが保護されていないか、セルが結合されていないか、またAutoFilterメソッドの動作を妨げる非表示データが存在しないかをご確認ください。

VBAコードの使用方法を示すスクリーンショット

2。これで、Sheet1 のドロップダウンからアイテムを選択するたびに、Sheet2 のデータが即座にフィルターされ、レポート作成やレビュー時の複数シート間分析がスムーズに進みます。

ドロップダウンリストの選択とそれに対応するフィルター結果を示すスクリーンショット

VBA ベースのソリューションをご利用になるには、マクロを有効にしていただく必要があります。コードを保持したい場合は、必ずブックを.xlsmファイルとして保存してください。フィルターが更新されない場合は、マクロのセキュリティ設定をご確認いただき、参照およびワークシート名が正しく一致しているかをご確認ください。マクロは一括変更を行う可能性があるため、バックアップなしで機密情報や業務上重要なデータを使用するのはお控えください。


条件付き書式を使用する - ドロップダウンの選択と一致するすべての行を自動的にハイライト表示

行を非表示または抽出するのではなく、単にドロップダウン選択と一致する行を視覚的にハイライト表示したい場合、条件付き書式を使用するが迅速でユーザーフレンドリーなアプローチを提供します。データを削除または移動せずにユーザーが関連行に集中できるようにしたいときにご活用ください。

この機能は、ダッシュボード、レポート、または大規模なリストで特に有用です。ハイライト表示により、現在の選択に関連するエントリが即座に判別でき、データの読みやすさが大幅に向上します。

  • 対象のデータ範囲を選択します。例:A2:C100 を選択します。
  • 条件付き書式を使用するツールにアクセスします。ホーム条件付き書式新規ルール
  • ルールを作成します。数式を使用して書式設定するセルを決定するを選択し、次のような数式を入力します。
    =$A2=$H$2
    この数式により、列 A の値がセル H2 のドロップダウン選択と一致する行がハイライト表示されます。
  • 書式を設定します。書式をクリックして、塗りつぶし色やテキスト形式を選択し、「OK」を押して確定してください。

メリット:設定が素早く完了し、選択範囲を変更すると即座に反映され、テーブル構造が損なわれません。ただし、これはレコードを強調表示するのみで(フィルターや抽出は行いません)。大きなテーブルでは、強調表示された行が目立つよう、コントラストの高い色を使用してください。条件付き書式のルールはセル単位で適用されるため、セル参照が誤っていると、すべての行が期待通りに強調表示されない可能性があります。一貫性を持たせるには、数式内で絶対参照(例:$H$2)を使用しましょう。

強調表示を解除したい場合は、条件付き書式を使用するルールのクリアに進んでください。複数の条件や複数列で強調表示を行うには、数式を調整してさらに多くの列をチェックするか、AND 関数をご活用ください。

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得