12

In an EXCEL 2010 spreadsheet, how can I create alternating fill color for clustered cell values, changing when a new value cluster is reached?

Assume column A contains the following values:

VALUE

123

123

123

456

456

789

789

789

789

I'd like all of the 123 values in A2:A4 to have the same fill color (say, green), all of the 456 cells in A5:A6 a new fill color (say blue), and all of the 789 cells in A7:A10 back to the fill color used for the 123 values (green again).

This is different from the many duplicate value examples.

It's an exercise that I'd like to repeat over and over for reports where the values will change dynamically, and can't be anticipated.

A VBA solution would be fine.

Thanks.

4

3 回答 3

19

如果你想要交替颜色,试试这个:

将整个范围格式化为蓝色。将此公式输入到辅助列中,例如列 B,从第 2 行开始并向下复制。

=IF(A2=A1,B1,IF(B1=1,0,1))

然后选择行并使用此公式添加条件格式

=$B2

选择绿色作为单元格填充。见截图。您可以隐藏 B 列。

在此处输入图像描述

于 2013-05-11T04:03:02.443 回答
6

据我了解,您可以使用常规的简单条件格式。

(请记住,我是从法语翻译的,所以您的菜单可能会有所不同)。

  1. 选择您的数据;
  2. Home选项卡上单击Conditional formatting,然后突出显示Color scales并选择最适合您的选项。如果需要,您可以自定义它。

这将为每个重复的数字使用相同的颜色。如果您的范围很大并且您有接近的数据(颜色将非常相似,难以区分),这可能不合适。

在此处输入图像描述

于 2013-05-11T00:28:16.967 回答
0

感谢@teylyn 指导我解决这个难题。

我在这里添加了一个细微的变化,添加了两个级别的条件格式来控制颜色,并演示了如何让颜色阴影跨越行。

在这个扩展的解决方案中,我添加了一个额外的“值”列,以满足跨行添加填充的额外要求。

“Helper”列的工作方式与@teylyn 建议的相同,将 A 列中的每个单元格值评估为上面的单元格值。如果计算结果为真,则帮助列使用前一行中的列 C 值来设置当前行列 C 值。如果为 false,则当前行列 C 值设置为 0。

设置这些值后,可以通过选择列 C 中的所有值来完成条件格式设置(选择 C2,单击 ctrl-shft-down 箭头),然后将第一个条件规则设置为在 $C2 计算结果为 1 时使用绿色填充。添加一个新规则,如果 $C2 计算结果为 0,则将填充颜色设置为蓝色。

要使颜色跨越行,请更改“应用于”文本框以跨越从 $A$2:$C$10 的整个值范围。

这是一个绝妙的解决方案。现在,要添加第三种颜色,或者可能是随机颜色……那还有一天。

Stack Overflow 可能不允许我发布显示解决方案的图片(抱歉)。

没有图像,但工作表值如下所示:

Row Value   Helper
123 ABC 1
123 DEF 1
123 GHI 1
456 JKL 0
456 MNO 0
789 PQR 1
789 STU 1
789 VWX 1
789 YZA 1

这是更新 C 列中值的公式:

=IF(A2=A1,C1,IF(C1=1,0,1))

于 2013-05-11T16:47:30.577 回答