メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

別の列またはドロップダウンリストの選択に基づいてセルをグレー表示にするには、どうすればよいですか?

Author Sun Last modified

実際のExcelタスクでは、関連するセルの値に応じてデータを目立たせたり、目立ちにくくする必要がある場合がよくあります。一般的な要件は、特定の列に特定の値が含まれている場合や、ドロップダウンリストから選択が行われたときに、特定のセルを自動的に「グレー表示」(暗くしたり、視覚的に非アクティブ化)することです。
このような動的な書式設定により、大規模なデータセットをより解釈しやすくし、入力を制限する必要のあるワークフローを支援し、現在アクション不可能な項目を明確にします。例えば、プロジェクトのステータス列が「完了」の場合、タスク説明をグレー表示させることができます。
この記事では、別の列の値やドロップダウンリストの選択に基づいてセルをグレー表示するためのいくつかの効果的な方法を紹介します。標準的な条件付き書式設定と、複雑な要件に対応するための高度なVBAアプローチの両方をカバーしています。また、トラブルシューティングの提案や実践的な使用ヒントも見つかります。
grey out cells based on another column

別の列またはドロップダウンリストの選択に基づいてセルをグレー表示にする

VBA: 別の列またはドロップダウンリストに基づいてセルのグレー表示を自動化


arrow blue right bubble 別の列またはドロップダウンリストの選択に基づいてセルをグレー表示にする

列Aには主なデータ(タスクや説明など)、列Bにはフラグやステータス指示子(「YES」「NO」やドロップダウンからの選択肢など)があると仮定します。列Bの値に基づいて、列Aの項目を視覚的にグレー表示したいかもしれません。例えば、列Bのセルに「YES」と表示されている場合、対応する列Aのセルがグレー表示され、それが非アクティブまたは完了していることを示します。列Bが「YES」以外の場合は、列Aは通常の外観を保持します。

このアプローチは、タスク管理シート、チェックリスト、ワークフロー、またはある列のステータスが別の列の書式を制御するようなシートに適しています。データを整理し、使いやすく保ちますが、行が正しく対応するように、整然とした構造化された列に依存します。

1. 他の列に基づいて自動的にグレー表示したい列Aのセルを選択します。例えば、 A2:A100 (列Bで使用される範囲に一致するセルのみを選択)。次に、「ホーム」タブの ホーム > 条件付き書式設定 > 新しいルール.
click Home > Conditional Formatting > New Rule

2. 「新しい書式ルール」ダイアログで、「数式を使用して書式設定するセルを決定する」をクリックします。そして、この数式 =B2="YES" を「この数式がTRUEである場合に書式設定する値」というボックスに入力します。これは、列Bの対応するセルが「YES」かどうかを確認します:

3. 次に、「 書式設定 」ボタンをクリックします。「 セルの書式設定 」ダイアログで、「 塗りつぶし 」タブにある灰色を選択します。これがグレー表示に使用される背景色になります。
specify options in the New Formatting Rule dialog

4. 色を設定後、「 OK 」をクリックして「セルの書式設定」ウィンドウを閉じ、もう一度「 OK 」をクリックして新しい書式設定ルールを適用します。
the cells have been greyed out based on another column values

これで、列Bに「YES」が表示されるたびに、列Aの対応するセルがグレー表示されます。列Bが別の値(「NO」や空白など)に変更されると、列Aの外観は元に戻ります。この方法は即時的であり、セットアップ後の手動更新は必要ありません。

ヒント: 列Bにドロップダウンリストを使用する場合、プロセスは似ています。このアプローチは、コントロール列が標準化された選択肢(プロジェクトステータス「進行中」「完了」、チェックボックス「済み」「保留中」、または検証リスト内の特定の許可値)を使用する場合に特に有用です。

列B(コントロール列)にドロップダウンリストを作成するには:

  1. ドロップダウンメニューが必要な列Bのセルを選択します。
  2. データデータの入力規則をクリックします。
  3. 「データの入力規則」ダイアログで、「 リスト 」を「 許可 」のドロップダウンから選択します。「 ソース 」ボックスに、許可される値を含むセル範囲を入力または選択します(例: YES,NO).
    create a drop down list in the Data Validation dialog

これで、列Bの各セルにドロップダウンリストができました。ユーザーは指定されたオプションから選べるようになります:
the drop down list has been created

先ほどと同じように、「 条件付き書式設定 」を設定し、グレー表示をトリガーする項目に対応する数式(例: =B2="YES")を使用します。条件付き書式設定を適用すると、列Bのドロップダウンで「YES」が選択された際に、列Aの対象セルが自動的にグレー表示されます。
repeat the steps to get the result

追加のヒントと注意点:
- 列Aの条件付き書式範囲がデータエリアと一致し、列Bの参照と整合性が取れていることを確認してください。同期が取れていない場合、書式が期待通りに適用されないことがあります。
- 列にデータをコピーまたはフィルする場合、参照(例:B2)が適切に更新されることを確認してください。
- 最良の結果を得るため、新しいルールを適用する前に、範囲から古い書式をすべてクリアしてください。
- グレー表示を解除するには、列Bのルールトリガー値を変更するか、条件付き書式設定ルールを削除します。
- ワークシートが共有されている場合、どの値が書式をトリガーするかをユーザーが知っていることを確認してください。

条件付き書式設定が期待通りに動作しない場合は、列Bのセルが数式がテストしている値と正確に一致しているか確認してください(余分なスペースがないこと、完全一致でない場合の大文字小文字が正しいこと、隠し文字に対する検証)。

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

arrow blue right bubble VBA: 別の列またはドロップダウンリストに基づいてセルのグレー表示を自動化

バッチ処理による書式設定の適用、複数かつ複雑な条件の処理、または条件付き書式設定のルールや制限が要件を満たさない場合など、より高度なシナリオでは、VBAコードを使用してセルのグレー表示を自動化できます。

一般的な使用例:
- ドロップダウン選択または別の列に関連付けられた任意の論理に基づいて、行全体または特定の範囲を自動的にグレー表示する。
- データのインポート後やマクロ駆動のシート更新後でも書式が一貫して維持されることを確保する。
- 組み込みの条件付き書式設定の制限を超える複数の条件付き状態を適用する。

1. 「開発ツール」>「Visual Basic」をクリックしてVBAエディタを開きます(Alt+F11がショートカット)。VBAウィンドウで「挿入」>「モジュール」をクリックします。新しいモジュールに以下のコードをコピー&ペーストします:

Sub GreyOutCellsBasedOnAnotherColumn()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim checkCol As String
    Dim dataCol As String
    Dim i As Long
    Dim triggerValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    '----- Set parameters here -----
    Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
    checkCol = "B" ' Column to check (e.g., B)
    dataCol = "A" ' Column to grey out (e.g., A)
    triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.

    '----- Find last row in the check column -----
    lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Assumes header in row 1
        If ws.Cells(i, checkCol).Value = triggerValue Then
            ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
        Else
            ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
        End If
    Next i
End Sub

2. このマクロを実行するには、コードウィンドウがアクティブな状態でF5キーを押します。このマクロは、ワークシートの各行をループ処理します(最初の行はヘッダーとして残すため、行2から開始)— 列Bでトリガー値(デフォルトでは「YES」)を確認します。その値が見つかった場合、対応する列Aのセルを灰色で塗りつぶします。トリガー値が存在しない場合、以前の灰色塗りつぶしは削除され(セルはデフォルトの外観にリセットされます)。

次のパラメーターをコード内でカスタマイズできます:

  • checkCol: チェックする列(例:"B")
  • dataCol: グレー表示する列(例:"A")
  • triggerValue: グレー塗りつぶしに一致させる値(例:"YES"、"Complete"、リスト内の任意の値)

注意点とヒント:

  • このマクロはセルの背景を永久に変更します。データの変更時に色をリアルタイムで更新したい場合は、更新後にマクロを再実行するか、Worksheet_Changeイベントスクリプトを使用することを検討してください(上級者向け)。
  • このアプローチは、セル数や条件付き書式設定ルールの制限に影響を受けないため、大規模な動的な範囲や多数の条件を持つ場合に最適です。
  • 誤ってマクロをトリガーしてグレー塗りつぶしを解除したい場合は、関連する値をクリアまたは変更した後、再度実行するだけです。
  • If文を拡張して、さらに多くの条件を追加することができます(例:複数の選択肢、追加の列、またはより複雑なロジックに基づいたグレー表示)。

VBAを使用して手動または自動でセルをグレー表示することは、複雑で大規模、または高度にカスタマイズされたExcelソリューションにおいて最大限の柔軟性を提供します。

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件での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でタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得