セルの値が変更されたときに行全体の塗りつぶし色を変更する

セルの値が変更されたときに行全体の塗りつぶし色を変更する

Excel ワークシートに、行が一般的に 1 つの列の値でグループ化 (おそらく並べ替え) されているテーブルがあります。以下の例では、列が AYear で並べ替えられています。ただし、必ずしも数値である必要はなく、並べ替えられている必要もありません。"Apple"、"Apple"、"Apple"、"Pear"、"Banana"、"Banana" などです。

指定した列の値が変わったときに、行の塗りつぶしの色を変更したいと思います。例:

B
1 名前
2 1999 フレッド 1,000         (この行はオレンジ色になります)
3 1999 アリス 1,200         (この行はオレンジ色になります)
4 1999 ボブ 100         (この行はオレンジ色になります)
5 2000 キャロル 250         (この行は緑色になります)
6 2001 デビッド 450         (この行はオレンジ色になります)
7 2001 エド 600         (この行はオレンジ色になります)
8 2002 ジョー 700         (この行は緑色になります)

[スプレッドシートの画像]

したがって、年列に 1999 がある行の塗りつぶしは、オレンジ色など 1 色で、値が変わると塗りつぶしの色も変わります。オレンジ色、緑色、オレンジ色など、色が交互に変わるだけでも問題ありません。私が興味を持っているのは、列が年や数字であるかどうかではなく、車のメーカーや果物などであるかどうかに依存する一般的な方法です。また、何行も下に 1999 年という別の年がある場合、塗りつぶしの色を 1 にする必要はなく、隣接する 1999 年以外の行と異なる色にすればよいだけです。

条件付き書式をいくつかのことに使用しましたが、これを実行できません。目的は、年が変わるときにわかりやすくすることです。これは、単に塗りつぶしを交互にするのとは異なります。

答え1

ヘルパー列を使用する場合は、VBAを使用する必要はありません。列を使用しましょう H。1に設定しH2、次にH3に設定します。

=IF(A2=A3, H2, 3-H2)

ドラッグして下に塗りつぶします。これにより、 列の値が変わるたびに 1、とが 交互に表示されます。2A

  • この行の列の値が A前の行 ( IF A2=A3) と同じ場合は、ヘルパー列に前の行 ( H2) と同じ値を使用します。
  • それ以外の場合は、値を切り替えます3-H2。 が H2の 場合1、これは3-1が である と評価されます2。 H2が の 場合2、これは3-2が である と評価されます1

次に、列の値を確認するために条件付き書式を設定します H

この回答のフォーマットを適用した質問のデータ(および私のヘルパー列)のスクリーンショット

関連情報