当单元格中的值发生变化时更改整行的填充颜色

当单元格中的值发生变化时更改整行的填充颜色

我在 Excel 工作表中有一个表格,其中的行通常按一列中的值分组(可能已排序)。在下面的示例中,它是列 A,并按年份排序。但它不一定是数字,也不一定已排序;它可能是“Apple”、“Apple”、“Apple”、“Pear”、“Banana”、“Banana”。

我想在指定列中的值发生变化时更改行的填充颜色。例如:

A C
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 年的行的填充颜色将是一种颜色,比如橙色,然后当值发生变化时,填充颜色也会发生变化。如果颜色只是交替变化,比如先是橙色,然后是绿色,然后是橙色等,那就没问题了。我对一般的做法感兴趣,而不是依赖于列是年份还是数字,它可以是汽车品牌或水果等。此外,如果在很多行下面还有另一个年份 1999,则不必使用填充颜色 1,只需与相邻的非 1999 年行不同即可。

我已经将条件格式用于多种用途,但无法实现这一点。这样做的目的是为了能够更好地看到年份的变化。这与仅仅交替填充不同。

答案1

如果您愿意使用辅助列,则无需使用 VBA。让我们使用 Column  H。设置H2为 1;然后设置H3

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

并向下拖动/填充。 每次 Column 中的值发生变化时, 此操作将在1和 之间交替:2A

  • A如果此行在 Column 中具有与上一行相同的值 ( IF A2=A3),则对辅助列使用与上一行相同的值(H2);
  • 否则,切换值:3-H2。如果 H2是 1,则计算结果为3-1。 2如果 H2是 2,则计算结果3-2为 1

然后设置条件格式来查看列中的值 H

问题数据的屏幕截图(加上我的帮助列),格式来自这个答案

相关内容