Excel で複数の色を使ってデータをフィルターするにはどうすればよいですか?
通常のExcel 操作では、セルの色に基づいてフィルターをかけるのは、単一の色を対象とする場合には簡単です。しかし、複数の特定の色が含まれる行を同時に抽出したい場合はどうすればよいでしょうか?たとえば、さまざまなカテゴリが異なる塗りつぶし色で強調表示されたデータリストがあり、その中から2 つ以上の指定した色を持つ行だけを表示したいとします。このようなケースは、残念ながらExcel の標準フィルター機能では直接実現できません。なぜなら、組み込みフィルターでは一度に選べるのは1 つの色のみだからです。本記事では、この課題を効率的に解決するための具体的な方法を紹介するとともに、それぞれのアプローチが持つ実用的価値や、どの手法を優先すべきかを判断する際の状況についても解説します。
以下には、当初紹介した VBA コードによる解決策に加え、最良の結果を得るための追加のヒントと注意点を記載しています。さらに、ご参考までに、数式を使ったヘルパー列の使用およびKutools for Excel アドインの利用という2 つの代替方法へのリンクも掲載しています。
VBA コードで複数の色でデータをフィルターする
現在、Excel には複数のセルの背景色に基づいて行を一度にフィルターするネイティブな機能はありません。特定の複数の色に一致する行だけを表示したい場合は、カスタマイズされた VBA ソリューションをご利用いただけます。以下のアプローチでは、ユーザー定義関数を使って隣接するヘルパー列に色コード番号を抽出する方法をご紹介します。こうして色を識別した後は、Excel の組み込みフィルターツールで簡単に目的の行だけを抽出できます。この方法は小規模~中規模のデータセットに最適で、マクロ操作に慣れている方にとって特に便利です。
1.ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。今後もこのコードをワークブックで使い続けたい場合は、通常のExcel ファイル(.xlsx)では VBA コードを保存できないため、必ずマクロ有効ワークブック(。xlsm)またはマクロをサポートする他の形式でファイルを保存してください。
2.挿入>モジュールをクリックすると、モジュールウィンドウが開くので、そこに次のコードを貼り付けてください。
VBA コード:色コード番号を抽出する:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
次に進む前に、必ず作業内容を保存してください。一部の環境では VBA 使用時にセキュリティ警告が表示されるため、メッセージが表示されたらマクロを有効にしてください。
3.=Getcolor(A2)ワークシートに戻ったら、データの横にある空白セル(たとえば、色付きセルが列 A にあり、最初のデータ行が2 行目の場合、B2 セルを使用)を選択し、次の数式を入力します。A2は、分析したい最初の色付きセルを指します。この関数は、ヘルパー列に色コードを数値として返します。スクリーンショットをご参照ください:

4.

ヒント:セルに背景色が設定されていない場合、この関数は-4142を返します。背景色のない行を除外したい場合は、この値を基準にご利用いただけます。
5.データタブに移動し、フィルターをクリックして、ヘルパー列の上部にある矢印をクリックします。フィルタードロップダウンリストで、表示したい色に対応するすべての色コード番号のチェックボックスをオンにしてください(下図参照):

6.OKをクリックしてフィルターを適用すると、選択した背景色を持つ行のみがデータ範囲に表示されます。フィルター結果をさらに分析したりコピーしたりしたい場合は、表示された行を選択してください。スクリーンショットをご参照ください:

7.
数式を入力した後に#NAME?エラーが表示された場合は、VBA コードが正しく挿入されていないか、マクロが有効になっていない可能性があります。今すぐ VBA モジュールとマクロのセキュリティ設定を再確認してください!
このソリューションのメリットの一つは、Excel のネイティブフィルターコントロールを使い、色ベースのフィルターをテキストや数値のフィルターなど他の条件と自由に組み合わせられることです。ただし、新しいテーマを適用したり外部ソースからデータをコピーしたりするとセルの色コードが変更される可能性があるため、その際には VBA 関数を更新または再適用する必要があります。
Excel で手動で複数の色でデータを分類・フィルターする
ワークブックのセキュリティポリシーやユーザーの好みによって VBA の使用が適さない場合でも、ヘルパー列にカラーカテゴリーを手動でコード化し、そのカテゴリに基づいてフィルターするという実用的な回避策があります。この方法は、異なる色の数が管理可能な範囲にとどまり、かつ色コードの調整が頻繁に行われない状況に最適です。
データの横に「色カテゴリ」などのヘルパー列を追加し、各行の塗りつぶし色に応じて手動で「赤」「緑」「黄」などのラベルを割り当てましょう。その後、フィルター機能を使えば、表示したいカテゴリを簡単に絞り込めます。
手順:ヘルパー列に、色に基づいた簡単なテキスト識別子(例:青背景の行には「青」、背景なしの行には「なし」など)を入力します。入力が完了したら、ヘルパー列を選択し、データ > フィルターから表示したい色付き行の任意の組み合わせを絞り込んでください。
このアプローチは自動化されていませんが、データセットが小さく、色の定義が頻繁に変更される場合には高い柔軟性を発揮します。一方で、データが動的に変化したり、複数のユーザーが利用したりする場合には、手動でのメンテナンスが効率を低下させる可能性があります。
大規模なデータセットや頻繁な更新が必要な場合は、以下で紹介する VBA による自動化や専用のExcel アドインの利用をご検討ください。

KUTOOLS AI でExcel の魔法を解き放ちましょう
- スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
- カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
- VBA コーディング:VBA コードを簡単に記述・実装できます。
- 数式の解釈:複雑な数式が簡単に理解できます。
- テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
関連記事:
Excel でカンマ区切りのデータをフィルターするにはどうすればよいですか?
Excel でテキストを完全一致でフィルターするにはどうすればよいですか?
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
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 アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得