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