这类似于当单个列的值发生变化时,Excel 中的网格背景颜色会发生变化吗?,我相信可以使用来完成SUBTOTAL(109,...
,但我还不太明白。
我的表格中的第一列是组号,所有具有相同组号的行都应具有相同的背景。表格按组号排序。
我想仅根据可见行交替每个组的行颜色。在此示例中,我隐藏了A
和C
。请注意,praesent
和libero
已根据可见行交换颜色。
我可以自由添加隐藏的辅助公式列,但我希望它们全部都采用条件格式。
答案1
以下是带有两个辅助列的答案(当然你可以隐藏它们):
- 助手1:
=AGGREGATE(2,5,A2)
- 它只显示 1 表示可见行,0 表示不可见行(当然你总是看到 1 :) )
- 助手2:
=IF(C2=1,IFERROR(MAX($D$1:D1)+(COUNTIFS($A$1:A1,A2,$C$1:C1,1)=0),1),"")
MAX($D$1:D1)
- 寻找迄今为止最大的团体人数COUNTIFS($A$1:A1,A2,$C$1:C1,1)
- 检查当前值是否存在于可见行之上MAX(...)+(COUNTIFS(...)=0)
- 如果是新组,则增加组号IFERROR(...,1)
- 将第一行的组号设置为 1IF(C2=1,...,"")
- 仅计算可见行的组号
设置条件格式:
- 转到:主页 - 条件格式 - 新规则 - 使用公式...
- 在公式中输入
=MOD($D1,2)=1
- 设置你想要的格式
答案2
我只是将其添加为答案,因为我没有足够的代表来发表评论。这是基于 Mate 的答案,非常棒。我将其压缩为一个辅助列,并使其仅依赖于连续行中的值(应该有助于提高大型集合的性能),并从 count 更改为 counta(让我除了数字之外还使用字符串)。
=MOD(如果(D6<>D5,AGGREGATE(3,5,E6)+A5,A5),2)