Excelで都市名(Paris / London / Ottawa など)をドロップダウンで選ぶたびに、その行のB~Kが都市ごとの色で自動的に塗りつぶされるようにしたい場合は、条件付き書式の「数式ルール」と参照の固定($)を正しく組み合わせるのが最短ルートです。シート全体に一括適用して、選択変更に連動して色が切り替わる設定を、つまずきポイント込みで解説します。
ドロップダウン選択に連動して「行のB~K」を自動色分けする仕組み
Excelの条件付き書式は、「条件(数式)がTRUEのときだけ指定した書式を当てる」機能です。今回やりたいことはとてもシンプルで、次の2点を守れば実現できます。
- 色を付けたい範囲(B~K)を先に選択してから条件付き書式のルールを作る
- 判定に使うドロップダウン列だけを固定するため、参照は「$C2」のように列だけ$で固定する
この2点がズレると、「1セルだけ色が付く」「列がずれて判定が崩れる」「行に広がらない」といったトラブルが起きがちです。
前提例(この記事のサンプル設定)
まずは例を固定して説明します。あなたのシートが違っていても、後の章で置き換え方法をまとめています。
| 項目 | 例 | 補足 |
|---|---|---|
| 都市名の入力方法 | ドロップダウン | データの入力規則(リスト)を使用 |
| 都市名の入力セル | C列(C2:C100) | 各行に都市名が入る想定 |
| 色を付けたい範囲 | B2:K100 | 「同じ行のB~K」を塗りつぶし |
| 都市と色 | Paris=紫、London=青… | 色は任意。都市ごとにルールを分ける |
最短で成功する設定手順(条件付き書式)
この手順どおりに進めれば、ドロップダウンで都市を変えた瞬間に、同じ行のB~Kが自動で色分けされます。
手順
- 色を付けたい範囲を選択します。 例:B2:K100 をドラッグで選択(または名前ボックスに
B2:K100と入力してEnter)。 - リボンの [ホーム]→[条件付き書式]→[新しいルール] を開きます。
- [数式を使用して、書式設定するセルを決定] を選択します。
- 「次の数式を満たす場合に値を書式設定」に、まずParis用の数式を入力します。
=$C2="Paris"ポイントは $C2(列Cを固定、行は固定しない)です。 - [書式]→[塗りつぶし]でParis用の色(紫)を選び、OK。
- 同様に London用のルールを追加します。
=$C2="London"(色:青) - Ottawaなど他の都市も、都市の数だけルールを作成して完了です。
この設定が「行のB~K」全体に効く理由
条件付き書式は、選択した範囲(ここではB2:K100)の各セルに対して数式を評価します。ただし、数式内で参照するセルが「C列の同じ行」になっていれば、B列でもK列でも同じ行のCセルを見に行くため、結果として「行全体の色分け」になります。
$(絶対参照)の付け方で結果が変わる
ここが最大のつまずきポイントです。条件付き書式で行全体に効かせたい場合、参照の固定の仕方を間違えると「列がずれる」現象が起きます。
| 数式の例 | 固定されるもの | 起きやすい挙動 | 今回の用途に向く? |
|---|---|---|---|
=$C2="Paris" | 列Cだけ固定 | どの列(B~K)でも「同じ行のC列」を参照 | ◎ 最適 |
=C2="Paris" | 固定なし | B列ではC参照だが、右へ行くほどD/E…参照にズレる | × ズレやすい |
=$C$2="Paris" | 列Cと行2を固定 | どの行でもC2だけを見続ける(全行同じ判定) | × 行が追従しない |
=C$2="Paris" | 行2を固定 | 行方向に追従せず、常に2行目の都市で判定 | × |
つまり、「列だけ固定して、行は固定しない」のが鉄則です。これにより、B3:K3は自動的に「C3を見て判定」になり、B99:K99は「C99」を見ます。
「1セルだけ色が付く」原因はほぼこれ
条件付き書式でよくある失敗が、色を付けたい範囲を選ばずにルールを作ってしまうことです。たとえばB2だけを選んだままルールを作ると、当然B2だけが色付き、B~Kに広がりません。
チェックすべき場所:適用先(Applies to)
次の手順で、ルールが正しい範囲に適用されているか確認できます。
- [ホーム]→[条件付き書式]→[ルールの管理]
- 該当ルールを選び、[適用先]が
=$B$2:$K$100になっているか確認 - 違っていたら、適用先を正しい範囲に修正
「行全体に効かせたい」のに適用先が =$B$2 のように1セルになっていれば、そこが原因です。
都市別ルールの作り方(実用的なテンプレ)
都市が増えるほど、ルールの作成・管理が面倒になりやすいので、最初から「一覧化」しておくと運用がラクです。以下は、そのまま使えるテンプレです(色名は例)。
| 都市 | 数式(C列がドロップダウンの場合) | 塗りつぶし例 | メモ |
|---|---|---|---|
| Paris | =$C2="Paris" | 紫 | 綴りはドロップダウンの表示と完全一致 |
| London | =$C2="London" | 青 | 色が似る場合は文字色も変更すると視認性UP |
| Ottawa | =$C2="Ottawa" | 緑 | 背景が濃い色ならフォント色を白に |
| 未選択(空欄) | (ルール不要) | なし | 空欄は塗らないのが基本 |
空白・未選択行を確実に「塗らない」
通常は、都市名が空欄ならどのルールにも一致しないため塗られません。ただし、過去の塗りつぶしが残っている場合は、条件付き書式のルールで上書きされないことがあります。
- まず対象範囲(B2:K100)を選択し、塗りつぶしを「なし」に戻してから条件付き書式を適用する
- または、必要に応じて「空欄なら白で塗る」ルールを最上位に置く(ただしルールが増える)
ドロップダウン(データの入力規則)側の落とし穴
条件付き書式の数式は、文字列が完全一致しないとTRUEになりません。つまり、ドロップダウンの値と数式内の文字がズレると色が変わりません。
よくあるズレ
- 余計なスペース(例:
"Paris "のように末尾にスペース) - 全角・半角の違い(例:London と London)
- 表記ゆれ(例:NY / New York など)
対策
- ドロップダウンの元リスト(都市一覧)を一度見直し、表記を統一する
- もし入力値が外部から貼り付けられる運用なら、別列に
TRIMやCLEAN相当の整形を入れる(Excelの関数例:=TRIM(C2))
ドロップダウン列がC列以外の場合(置き換え早見)
参照列が違うだけなら、数式の列だけ置き換えればOKです。行番号は固定しないのがポイントです。
| ドロップダウンの列 | Paris判定の数式例 | 考え方 |
|---|---|---|
| I列 | =$I2="Paris" | 列Iを固定($I) |
| A列 | =$A2="Paris" | 列Aを固定($A) |
| AA列 | =$AA2="Paris" | 2文字列でも同じ |
範囲を「シート全体」に適用したいときの考え方
「シート全体に適用して、どの行でも都市を選べば自動で色が付く」状態にするには、適用先(B~Kの縦範囲)を十分広く取るのがコツです。
おすすめ:想定最大行まで広く指定
- 例:B2:K1000、B2:K5000 など
- 後から行が増える運用なら、最初に大きめに取っておくと管理がラク
さらにおすすめ:Excelテーブル(テーブル化)にする
入力行が増減するシートなら、Excelの「テーブル」機能(ListObject)にすると、新しく追加した行にも条件付き書式が自動で引き継がれやすくなります。
- データ範囲のどこかをクリック
- [挿入]→[テーブル](先頭行を見出しとして使う場合はチェック)
- テーブル内のB~K列に条件付き書式を設定
運用上「行が増えるたびに書式をコピーする」手間が減るので、ドロップダウン×色分けのシートと相性が良いです。
ルールが競合する場合の整理(優先順位・上書き)
すでに別の条件付き書式(期限切れを赤にする、数値で色を変える、など)があるシートでは、都市別色分けと競合して期待どおりに見えないことがあります。
基本ルール
- 条件付き書式は上から順に評価され、同じプロパティ(塗りつぶし等)を複数ルールが触ると上書き関係が発生する
- 「都市別に塗りたい」なら、都市別ルール群を同じグループでまとめて管理し、優先順位を揃える
おすすめの運用例
- 都市別の塗りつぶし(背景色)をメインにするなら、都市別ルールを上位へ
- 「重要アラート(期限切れなど)」を目立たせたいなら、アラート用ルールを最上位へ
- 色が多すぎて視認性が落ちる場合は、背景は薄め、文字色や太字を併用する
実務で使えるオリジナルの工夫(見やすさ・運用のしやすさ)
同系色が増えるなら「文字色」「太字」「罫線」もセットで
都市が増えると「色が似ていて見分けにくい」問題が出てきます。背景色だけで頑張るより、次を組み合わせる方が読み間違いを減らせます。
- 背景が濃い色の都市は、フォント色を白に
- 重要な都市(拠点など)は、太字や罫線を強調に
- 一覧表(ヘッダー)とデータ行が混ざりやすいなら、ヘッダー行は固定のスタイルにする
都市が20以上あるなら「グループ化」も現実的
条件付き書式だけで都市ごとに色を完全に分ける場合、基本的に都市数=ルール数になります。10都市程度なら十分運用できますが、20・30と増えると管理が重くなります。
その場合の現実解として、次のような設計が有効です。
- 都市そのものではなく、地域(Europe / North America / APAC など)で色分けする
- 都市はドロップダウンのまま、別列に地域を自動表示(例:XLOOKUPで地域を返す)し、地域列を判定に使う
都市の細かい識別は文字列で行い、色は「大分類」で付けると、視認性とメンテナンス性のバランスが取りやすくなります。
どうしても「都市ごとに自動で色を割り当てたい」場合の注意点
よくある希望として「都市名を増やすたびに自動で色が決まり、条件付き書式のルール追加が不要にしたい」というものがあります。しかし、標準の条件付き書式は“数式で色そのものを返す”ことができません(数式はTRUE/FALSEを返して書式を当てる仕組み)。
そのため、都市ごとに色を厳密に変えるなら、基本は以下のいずれかになります。
- 都市ごとに条件付き書式ルールを追加する(今回の方法)
- 都市を地域などにまとめてルール数を減らす
- 運用上どうしても必要なら、VBAでセルの塗りつぶしを制御する(マクロ許可が必要)
Excelの標準機能だけで完結させたいなら、まずは「都市数は何件までか」「色分けの目的は識別か注意喚起か」を整理し、ルールが破綻しない設計に寄せるのがおすすめです。
トラブルシューティング(色が変わらない/一部だけ変)
ドロップダウンを変えても色が変わらない
- 数式の参照列が違う:
=$C2が実際のドロップダウン列と一致しているか確認 - 都市名が一致していない:スペース・表記ゆれを確認(ドロップダウン元リストも含めて)
- 適用先が狭い:
=$B$2:$K$100のように範囲が正しいか確認
B~Kの一部の列だけ色が付かない
- 適用先が途切れている:
=$B$2:$H$100までしか指定されていない、など - 別の条件付き書式が上書き:ルールの管理で優先順位を確認
- セルの書式が手動で固定されている:過去の塗りつぶしが残っている場合は一度クリア
コピーしたら参照が崩れた
- 数式が
=C2="Paris"のように$無しになっていないか確認 - 別シートへコピーした場合、参照が意図しない列に変わっていないか確認
よくある質問
都市名のセルが「結合セル」でもできますか?
結合セル自体は条件付き書式の評価はできますが、行全体の運用ではトラブルの原因になりやすいです。可能なら結合は避け、見た目は「セルの結合」ではなく「中央揃え(選択範囲内で中央)」で整えると安定します。
ドロップダウンがC列で、色を付けたいのがA~Mのように広い場合は?
考え方は同じです。先に色を付けたい範囲を選択して、数式は=$C2="Paris"のまま、適用先をA~Mの範囲にすればOKです。
行全体(A~Z)を塗りたいのですが?
可能です。ただし列数が多いと見づらくなるので、実際に識別したい範囲(入力や参照に使う範囲)に絞ると見やすくなります。行全体にするなら、適用先を =$A$2:$Z$100 のように指定します。
都市名を「部分一致」で判定できますか?
できます。たとえば「Paris – East」「Paris – West」のように接頭語で判定したい場合は、数式を次のようにします。
=LEFT($C2,5)="Paris"
ただし、部分一致が増えるほど想定外の一致も起きやすいので、ドロップダウンの値を整理して完全一致に寄せる方が安全です。
まとめ(この設定で外さない要点)
- 条件付き書式は「B~Kを選んでから」ルールを作るのが成功の近道
- 数式は列だけ固定:
=$C2="Paris"($Cが重要) - 色が付かないときは適用先(Applies to)と表記ゆれを最優先で確認
- 行が増える運用なら、テーブル化で管理負荷を下げる
- 都市が多すぎる場合は、地域などのグループで色分けする設計も有効
この形で作っておけば、ドロップダウンで都市名を選び直すだけで、同じ行のB~Kが自動的に色分けされ、手作業の塗り直しが不要になります。条件付き書式は一度きれいに設計すると、集計表・進捗管理・拠点別のデータ管理など幅広いExcel業務で流用できるので、ぜひテンプレとして保存して使い回してください。

コメント