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

Excelで結合されたセルの交互行に色を付けるにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

大量のデータで交互に行に異なる色を付けることは、データをスキャンするのに非常に役立ちます。しかし、時々、データ内に結合されたセルが含まれている場合があります。下のスクリーンショットのように、結合されたセルを持つ行を交互にハイライト表示するには、Excelでこの問題をどのように解決すればよいでしょうか?

color alternate rows for merged cells example

条件付き書式を使用して結合セルの交互行に色を付ける

VBAコードを使用して結合セルの交互行に色を付ける


条件付き書式を使用して結合セルの交互行に色を付ける

Excelでは、強力な機能である条件付き書式を使用することで、このタスクをできるだけ早く達成できます。次の手順に従ってください:

1. 交互に色付けしたい結合セルを含むデータ範囲を選択し、次にホーム > 条件付き書式 > 新しいルールをクリックします。スクリーンショットをご覧ください:

click Home > Conditional Formatting > New Rule

2. 表示された「新しい書式ルール」ダイアログボックスで、次の操作を行います:

  • ルールの種類を選択」リストボックスから「数式を使用して書式設定するセルを決定」オプションを選択します;
  • そして、この数式を「この数式が正しい場合に値を書式設定」テキストボックスに入力します:=MOD(COUNTA($A$2:$A2),2)=0
  • : A2はデータ範囲の最初のセルです。

specify the options in the dialog box

3. 次に、「書式」ボタンをクリックして「セルの書式設定」ダイアログボックスを開きます。「塗りつぶし」タブの下で、行をハイライト表示するために使用したい色を選択します。スクリーンショットをご覧ください:

choose one color under the Fill tab

4. 「OK」>「OK」をクリックしてダイアログを閉じると、結合セルのある行が指定した色で塗りつぶされます。スクリーンショットをご覧ください:

the rows with the merged cells are filled with the color

5. 続けて、ホーム > 条件付き書式 > 新しいルールをクリックして「 新しい書式ルール」ダイアログボックスを開き、次の操作を行います:

  • ルールの種類を選択」リストボックスから「数式を使用して書式設定するセルを決定」オプションを選択します;
  • そして、この数式を「この数式が正しい場合に値を書式設定」テキストボックスに入力します:=MOD(COUNTA($A$2:$A2),2)=1
  • 次に、「書式」ボタンをクリックして、行をハイライト表示する別の色を選択します。
  • : A2はデータ範囲の最初のセルです。

specify another options in the dialog box

6. そして、「OK」>「OK」をクリックしてダイアログを閉じると、選択したデータ範囲が結合セルに基づいて交互に2つの異なる色で塗りつぶされます。下のスクリーンショットをご覧ください:

the selected range is shaded with two different colors alternately based on the merged cells


VBAコードを使用して結合セルの交互行に色を付ける

通常の条件付き書式以外にも、VBAコードを使用して結合セルに交互に行の色を簡単に適用することもできます。

1. ALT + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

2. 次に、挿入 > モジュールをクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード: 結合セルの交互行に色を付ける

Sub Kutools_AlternateColor()
'Update by ExtendOffice
Dim xRg As Range
Dim xCRg As Range
Dim xIRg As Range
Dim xC1, xC2 As Integer
Dim xR1 As Integer
Dim xCnt As Long
Dim xLColor, xDCR1, xDCR2 As Long
Set xRg = Application.InputBox("Please select the data range:", "KutoolsforExcel", "", Type:=8)
If TypeName(xRg) = "Nothing" Then Exit Sub
Set xCRg = Application.InputBox("Please select the column with the merged cells:", "KutoolsforExcel", "", Type:=8)
If TypeName(xCRg) = "Nothing" Then Exit Sub
Set xIRg = Intersect(xRg, xCRg)
If xIRg Is Nothing Then
MsgBox "the data range doesn't contain merged cells"
Exit Sub
End If
xC1 = xRg.Column
xC2 = xIRg.Column
xR1 = xRg.Row
xLColor = RGB(221, 235, 247)
xDCR1 = RGB(221, 235, 247)
xDCR2 = RGB(250, 232, 222)
xRw = 0
Do
xLColor = xDCR1 + xDCR2 - xLColor
xCnt = Cells(xRw + xR1, xC2).MergeArea.Rows.Count
Cells(xRw + xR1, xC1).Resize(xCnt, xRg.Columns.Count).Interior.Color = xLColor
xRw = xRw + xCnt
Loop While xRw < xRg.Rows.Count - 1
End Sub

3. 次に、F5キーを押してこのコードを実行します。最初に表示されるボックスで、使用したいデータ範囲を選択します。スクリーンショットをご覧ください:

 vba code to select the data range

4. 2番目のプロンプトボックスで、結合セルのある列を選択します。スクリーンショットをご覧ください:

vba code to select the column with merged cells

5. そして、「 OK」ボタンをクリックすると、結合セルに基づいて行が交互に塗りつぶされます。下のスクリーンショットをご覧ください:

the rows are shaded alternately based on the merged cells


ビデオ: 結合セルの交互行に色を付ける

 

関連記事:

  • 結合セルからのすべての関連データをフィルター処理
  • データ範囲に結合セルの列があると仮定し、この結合セルの列をフィルター処理して、各結合セルに関連するすべての行を表示したいとします(次のスクリーンショット参照)。Excelでは、フィルター機能を使用して結合セルに関連する最初の項目のみをフィルターできますが、この記事では、Excelで結合セルからすべての関連データをフィルター処理する方法について説明します。
  • 結合セルを単一セルにコピーして貼り付ける
  • 通常、結合セルをコピーして他のセルに貼り付けると、結合セルがそのまま貼り付けられます。しかし、以下のスクリーンショットのように、これらの結合セルを単一セルに貼り付けて、必要に応じてデータを処理したい場合があります。この記事では、結合セルを単一セルにコピーして貼り付ける方法について説明します。
  • 複数の結合セルの内容をクリアする
  • 結合セルを多数含む大きなワークシートがあり、結合セルのすべての内容をクリアしたいが、結合セル自体は残したい場合があります。通常、まず「検索と置換」機能を使用してすべての結合セルを選択し、Deleteキーを押して値を削除しようとしますが、「結合セルに対してはこれを行うことができません」という警告メッセージが表示されます。このような場合、Excelで結合セル内の値を迅速にクリアしつつ、結合セルを残すにはどうすればよいでしょうか?
  • 結合セルに自動的に番号を振る
  • Excelで異なるサイズの結合セルのリストに連番を入力するにはどうすればよいですか?最初に思いつくのは、オートフィルハンドルをドラッグして結合セルを埋めることですが、この場合、次の警告メッセージが表示され、結合セルを埋めることができません。

  • スーパー数式バー(複数行のテキストや数式を簡単に編集可能); 閲覧レイアウト(多数のセルを簡単に読み取り・編集可能); フィルター範囲への貼り付け...
  • セル/行/列を結合してデータを保持; セル内容を分割; 重複する行を統合して合計/平均を計算... 重複セルを防止; 範囲を比較...
  • 重複または一意の行を選択空白行を選択(すべてのセルが空); スーパー検索および多くのワークブックでのあいまい検索; ランダム選択...
  • 数式参照を変更せずに複数のセルを正確にコピー; 複数のシートへの自動参照作成; 箇条書き、チェックボックスなどを挿入...
  • お気に入りの数式、範囲、グラフ、画像を素早く挿入; パスワードでセルを暗号化メーリングリストを作成してメールを送信...
  • テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除; ページング小計の作成と印刷; セルの内容とコメント間の変換...
  • スーパーフィルター(他のシートにフィルタースキームを保存して適用); 月/週/日ごとの高度な並べ替え、頻度など; 太字、斜体による特殊フィルタリング...
  • ワークブックとワークシートを統合; 主キーカラムに基づいてテーブルをマージ; データを複数のシートに分割xls、xlsx、PDFの一括変換...
  • ピボットテーブルのグループ化(週番号、曜日など)... ロックされたセルとロックされていないセルを異なる色で表示; 数式/名前を持つセルをハイライト...
kte tab 201905
  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付き編集と閲覧を有効化します。
  • 新しいウィンドウではなく、同じウィンドウ内の新しいタブで複数のドキュメントを開き、作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します!
officetab bottom