Excel条件付き書式で同じカテゴリを塊ごとに交互色分けする方法|UNIQUEと補助列で大量データを見やすく

Excelで1000行以上の一覧を目視チェックすると、同じ氏名・同じカテゴリが連続する“塊”の境目が見えづらく、確認漏れが起きがちです。条件付き書式で「塊が変わったら背景色も切り替える」交互色分けを実現するために、UNIQUEを使う方法と、環境差でも安定して動く補助列方式をまとめます。

目次

大量データで「塊ごとに交互色分け」が効く理由

一般的な「1行おきに色を付ける(縞模様)」は見やすい一方で、同じ人・同じカテゴリが複数行続くデータでは、“どこからどこまでが同一グループか”が瞬時に分かりません。たとえば、作業ログ、出荷明細、問い合わせ履歴、勤怠の打刻一覧などは、同一の氏名(担当者)やカテゴリが連続しやすく、確認はたいてい塊単位になります。

このとき、塊の境目で背景色が切り替わると、次のような実務メリットがあります。

  • 塊の終わり・次の塊の始まりが一目で分かり、スクロール中の見失いを減らせる
  • 目視チェックの「読み飛ばし」「同一塊の途中で別塊と勘違い」を防げる
  • フィルターや並べ替えをしても、塊の切り替わりが視覚的に追える

前提:今回の色分けが成立するデータ条件

この記事のメインは「同じキー(氏名/カテゴリ)が連続して並ぶ」ケースです。つまり、キー列の値が変わるタイミング=塊が切り替わるタイミングになります。具体例は下のようなイメージです。

行キー列(例:カテゴリ)内容(例)期待する色の動き
2Fruitりんご色A
3Fruitみかん色A(同じ塊)
4Meat牛肉色B(塊が変わる)
5Meat豚肉色B
6Grain米色A(再び切替)

ポイントは「同じ値が連続する範囲を1つの塊として扱い、値が変わったら色も切り替える」ことです。人数(カテゴリ数)が数百あっても、手作業で条件付き書式を作り込む必要はありません。

UNIQUEで「登場したユニーク数」の奇数・偶数を使って塗り分ける

Excel 365 / Excel 2021以降(動的配列関数が使える環境)で、データがキーでまとまっている場合に、比較的シンプルに実現できます。掲示板やコミュニティでも紹介されやすい定番アイデアは、「上から順に見ていって、キーが初めて登場するたびにカウントが増える」仕組みを使う方法です。

考え方(UNIQUE → COUNTA → ISODD/ISEVEN)

  • 上から順にキー列を見て、これまでに登場したユニーク値の数を数える
  • その数が奇数なら色A、偶数なら色Bにする
  • キーが切り替わった瞬間にユニーク数が増えるため、結果として塊ごとに色が交互になる

設定手順(例:キーがA列、データは2行目から、色を付けたい範囲がA2:L1200)

  1. 色分けしたい範囲を選択します(例:A2:L1200)。ヘッダー行は含めません。
  2. 選択範囲の左上(A2)をアクティブセルにしておきます。ここがズレると、数式の相対参照がズレて意図しない結果になります。
  3. [ホーム]→[条件付き書式]→[新しいルール]を開きます。
  4. 「数式を使用して、書式設定するセルを決定」を選びます。
  5. 数式欄に、奇数塊用の数式を入力します。
  6. [書式]→[塗りつぶし]で色A(例:淡い赤)を選び、OKで確定します。
  7. 同様に「偶数塊用」のルールをもう1本作成し、色B(例:淡い緑)を指定します。

使用する数式は次のとおりです(キーがA列の場合)。

奇数側(色A)

=ISODD(COUNTA(UNIQUE($A$2:$A2)))

偶数側(色B)

=ISEVEN(COUNTA(UNIQUE($A$2:$A2)))

数式の読み解き(なぜ塊ごとに色が変わるのか)

この式の肝は参照範囲 $A$2:$A2 です。行が下に進むほど「上から現在行まで」が伸びていきます。

  • UNIQUE($A$2:$A2):A2から現在行までに登場したユニーク値だけを取り出す
  • COUNTA(...):ユニーク値の数を数える(= これまで登場したユニーク数)
  • ISODD/ISEVEN:その数が奇数か偶数かでTRUE/FALSEを返す

条件付き書式は数式がTRUEになったセル範囲に書式を適用するので、結果として「ユニーク数が1増える境目(= 新しいキーが現れたところ)」で色が切り替わります。

この方法が向くケース・向かないケース

観点向く向かない(注意)
データの並びキーでソート済みで、同じキーが1つの連続ブロックにまとまっている同じキーが途中で再登場する(例:A→B→A)
Excel環境Excel 365 / 2021 以降でUNIQUEが使える一部のMac版・Web版などで、条件付き書式内のUNIQUEが安定しないことがある
運用負荷補助列なしで完結し、見た目がすっきりファイル共有先のExcel環境差で再現性が落ちる場合がある

重要な注意点として、UNIQUE方式は「ユニーク値の登場回数」をカウントします。もし同じ人(カテゴリ)が離れた場所に再登場すると、ユニーク数は増えないため、“塊が変わったのに色が変わらない”状況が起きます。そういうデータ構造の場合は、次の「補助列で塊番号」方式が確実です。

補助列で「塊番号」を作って奇数・偶数で塗り分ける(安定・汎用)

Mac版やWeb版でUNIQUEが期待通りに評価されないケースは、現場では珍しくありません。条件付き書式は内部評価の癖があり、動的配列の関数が絡むと環境差が出ることがあります。そこでおすすめなのが、補助列に塊番号(ブロック番号)を作ってから条件付き書式で色分けする方法です。

この方式は、UNIQUEの有無に依存せず、さらに「A→B→A」のように同じキーが再登場しても、塊が切り替わるたびに番号が増えるので意図通りに動きます。

補助列の作り方(例:キーがB列、補助列はM列、データは2行目から)

まず、M列に「塊番号」を入れます。塊番号とは、同じキーが続く間は同じ番号、キーが変わったら+1する番号です。

セル入れる数式意味
M2=1最初のデータ行は塊番号1から開始
M3 以降=IF($B3=$B2,$M2,$M2+1)前行と同じキーなら同じ番号、違えば番号を+1

M3の式を最終行までコピーすれば、塊番号が完成します。補助列は見せたくなければ列を非表示にしてもOKです。

条件付き書式の数式(補助列Mを参照)

次に、色を付けたい範囲(例:A2:L1200)に条件付き書式を設定します。考え方はシンプルで、塊番号が奇数なら色A、偶数なら色Bです。

奇数塊(色A)

=ISODD($M2)

偶数塊(色B)

=ISEVEN($M2)

ここでのポイントは、数式内の参照を $M2 のように「列だけ固定($M)、行は相対(2)」にしておくことです。これにより、同じ行の補助列の値を見ながら、選択範囲全体に書式が適用されます。

複数列をキーにしたい場合(氏名+日付、カテゴリ+サブカテゴリなど)

現場では「氏名が同じでも日付が違う」「カテゴリは同じでもサブカテゴリが違う」など、複数列の組み合わせで塊を決めたいことがあります。その場合は、補助列の比較部分を“結合キー”にします。

例:キーがB列(氏名)とC列(日付)の組み合わせの場合

=IF($B3&"|"&$C3=$B2&"|"&$C2,$M2,$M2+1)

文字列結合は、区切り記号(ここでは「|」)を挟むと衝突(例:AB+CD と A+BCD が同じに見える)を避けやすくなります。

どちらを選ぶ?現場目線のおすすめ

結論から言うと、社内共有や長期運用を考えるなら補助列方式が堅いです。UNIQUE方式は補助列なしで美しい反面、環境差やデータ構造(再登場するキー)でハマりどころがあります。

判断基準UNIQUE方式補助列方式
設定の手軽さルール2本だけで完結補助列を作る一手間がある
Excelの互換性動的配列対応が前提古いExcelでも動きやすい
キーが再登場する並び色が交互にならないことがある塊が変わるたびに必ず切替
大規模データでの安心感環境によっては不安定評価が単純でトラブルが少ない

手順でつまずきやすいポイントと対処

左上セルがアクティブになっていない

条件付き書式は「選択範囲の左上セル」を基準に相対参照が展開されます。たとえばA2:L1200を選んだつもりでも、アクティブセルがB5になっていると、数式の参照がズレて塗り分けが崩れます。範囲選択後に必ず左上(A2)をクリックしてからルール作成に進めるのが安全です。

$(絶対参照)の付け方が逆

よくある失敗が、$A$2:$A2 を A$2:$A2 のようにしてしまうケースです。今回の狙いは「上端(2行目)を固定しつつ、下端(現在行)を伸ばす」ことなので、上端は絶対参照、下端は相対参照が基本です。

ルールの順序・重複で想定外の色になる

交互2色にする場合、奇数用・偶数用のルールは基本的にどちらが上でも成立しますが、他の条件付き書式(エラー行の強調など)を併用していると「どのルールが優先されるか」で見た目が変わります。色分けルールを入れたら、[条件付き書式のルールの管理]で順序を確認し、必要に応じて優先度を調整してください。

空白行・空白セルが混ざっている

キー列に空白が混ざると、空白が1つのカテゴリのように扱われ、塊番号が意図せず増えたり、UNIQUEで空白がユニーク値としてカウントされることがあります。運用上空白があり得る場合は、次のように「空白は同じ扱いにする/色を付けない」などの方針を決めておくと安定します。

  • 空白行は色分け対象から外す(選択範囲をデータ行だけにする)
  • 補助列方式なら、比較を少し厳密にする(例:空白なら前行と同じ番号にする)

補助列の例(キー列がB列で、B3が空白なら前行と同じ番号にする)

=IF($B3="",$M2,IF($B3=$B2,$M2,$M2+1))

運用をさらに楽にするコツ

Excelの「テーブル(Ctrl+T)」にして、行が増えても自動で適用させる

1000行以上のデータは、更新のたびに行数が変わるのが普通です。範囲を固定(A2:L1200など)していると、行が増えたときに条件付き書式が漏れます。Excelのテーブル機能を使うと、行の追加に合わせて条件付き書式も伸びやすくなり、管理が楽になります。

テーブル化したうえで補助列を入れると、塊番号の式も自動で下までコピーされるため、日々の運用がかなり安定します。

色は「薄め」を基本にする(印刷・視認性・アクセシビリティ)

塊の境目を目立たせたいからといって濃い赤・濃い緑を使うと、文字の可読性が落ちたり、印刷時に潰れたりします。薄い塗り+太字や枠線などを組み合わせると、視認性と読みやすさを両立できます。社内で配色ルールがある場合はそれに合わせましょう。

確認作業の「視線の動き」を想定して列幅・固定表示もセットで整える

交互色分けは「塊の境目」を見つけやすくする手段ですが、目視チェックの効率は他の要素にも左右されます。具体的には以下のセット運用が効果的です。

  • キー列(氏名・カテゴリ)を左寄せ、必要なら列幅を少し広めに
  • ヘッダー行を固定表示([表示]→[ウィンドウ枠の固定])
  • チェック対象の列を近くに寄せる(遠い列は視線移動が増える)

よくある質問

2色ではなく、3色以上で回したい

可能ですが、条件付き書式は基本的に「色ごとにルールが必要」です。3色にするなら、塊番号を3で割った余り(MOD)で分岐させ、3本のルールを作ります。例として補助列Mを使う場合は次のようにできます。

  • 色1:=MOD($M2,3)=1
  • 色2:=MOD($M2,3)=2
  • 色3:=MOD($M2,3)=0

ただし色数が増えるほど「何色がどの塊か」を脳内で追いにくくなるため、目視チェック目的ならまずは2色交互が運用しやすいことが多いです。

塊の最初の行だけ強調したい(境目をもっと分かりやすく)

塊の切り替わり行だけに枠線を引いたり、太字にしたい場合は、「前行とキーが違うか」を条件に別ルールを追加します。例:キーがB列、データ開始が2行目なら、範囲全体に対して次の式を使います。

=$B2<>$B1

このルールに上罫線(太め)などを設定すると、塊の境界がさらに分かりやすくなります。交互色分けと併用しても効果的です。

フィルターで行を絞ると色の交互が崩れる?

フィルターで非表示になった行は画面から消えますが、条件付き書式の判定は基本的に「元の行順」を前提に計算されます。そのため、表示されている行だけを見ると交互が不規則に見えることがあります。これは仕様上起こり得るため、フィルターを多用する運用では「塊の先頭行を罫線で強調するルール」を併用すると、塊の識別が安定します。

まとめ:大量データの目視チェックは「塊の境目」を作ると速くなる

Excelの条件付き書式は、単なる装飾ではなく、作業品質を上げるための実務ツールです。特に1000行以上の大量データでは、塊ごとに交互色分けするだけで、スクロール中の迷子や確認漏れが目に見えて減ります。

  • Excel 365/2021などで動的配列が使え、キーがきれいにまとまっているならUNIQUE方式が手軽
  • 環境差やデータ構造の揺れを吸収して確実に運用するなら補助列で塊番号方式が最強

自分のデータの並びと共有環境に合わせて、最も再現性の高い方法を選んでください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次