使用条件格式对行块进行颜色编码

使用条件格式对行块进行颜色编码

我的宏被拿走了;再也不会用了!我很难过。我现在需要使用格式来帮助我突出显示不同的用户及其数据。手动执行此操作很麻烦。

使用 Excel 2007,有没有办法说“根据 A 行中匹配的名称在灰色和白色之间交替显示颜色”?A 行已排序,因此名称按顺序排列在一起。

Bob (White)
Bob (White)
Derek (Grey)
Jane (White)
Jane (White)
Jane (White)
Jane (White)
etc (Grey)
etc (etc)

答案1

编辑:彻底修改了我的答案。这个需要一个“辅助列”,但似乎有效很多更好的。

来自 David McRitchie 的Excel Pages 网站上的条件格式

我们希望在 A 列或 B 列发生变化时进行分组。条件格式无法跟踪之前的颜色,因此我们必须使用辅助列,然后让条件格式检查辅助列。

所需辅助列的基本公式为:

E1:  0 
E2: =MOD(OFFSET($E2,-1,0)+ OR($A2<>OFFSET($A2,-1,0),$B2<>OFFSET($B2,-1,0)),2)

从 开始E2,只需将公式向下拖动到您需要的数据即可。

您的条件格式公式将是:

=$E1=1 

访问组页面中的条件格式来解释这是如何以及为什么起作用的。

答案2

假设您的数据从第 2 行开始(即第 1 行是标题)并且 A 列是“数据组”标题(上面的 Bob 和 Dereks),请尝试以下操作:

设置一个附加列(稍后您将隐藏它)并将此公式放在第 2 行:

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

将此公式一直拖到数据集的底部。现在您应该有一组与您的数据块匹配的整齐的 1 和 0。(1 代表第一个块,0 代表第二个块,1 代表第三个块,依此类推)

现在针对行设置一个简单条件格式I

  • 公式:=$I5=1
  • 格式:设置格式为灰色
  • 适用于=$A$2:$G$100

只要您将行保持I在自动过滤器选择之外,它甚至会在您对数据进行排序时动态地工作(使用自动过滤器)。

答案3

如果您想在没有辅助列的情况下执行此操作,则可以将其用作 CF 公式:

=MOD(SUMPRODUCT(($A$2:$A2<>$A$1:$A1)*1),2)=0

只需选择格式,就完成了。

答案4

一种更容易理解的方法是通过输入公式来填充辅助列

=如果(A3=A2,B2,ABS(B2-1))

在辅助列(B 列)中。您只需在 B2 中输入一个零(我假设您有标题行),将其粘贴到 B3 中,然后将其向下拖动。

然后使用条件格式公式:

=$B2=1

相关内容