根据 Excel 中的列值交替显示可见行的颜色

根据 Excel 中的列值交替显示可见行的颜色

这类似于当单个列的值发生变化时,Excel 中的网格背景颜色会发生变化吗?,我相信可以使用来完成SUBTOTAL(109,...,但我还不太明白。

我的表格中的第一列是组号,所有具有相同组号的行都应具有相同的背景。表格按组号排序。

第一视角

我想仅根据可见行交替每个组的行颜色。在此示例中,我隐藏了AC。请注意,praesentlibero已根据可见行交换颜色。

筛选视图

我可以自由添加隐藏的辅助公式列,但我希望它们全部都采用条件格式。

答案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)- 将第一行的组号设置为 1
    • IF(C2=1,...,"")- 仅计算可见行的组号

设置条件格式:

  • 转到:主页 - 条件格式 - 新规则 - 使用公式...
  • 在公式中输入=MOD($D1,2)=1
  • 设置你想要的格式

在此处输入图片描述

答案2

我只是将其添加为答案,因为我没有足够的代表来发表评论。这是基于 Mate 的答案,非常棒。我将其压缩为一个辅助列,并使其仅依赖于连续行中的值(应该有助于提高大型集合的性能),并从 count 更改为 counta(让我除了数字之外还使用字符串)。

=MOD(如果(D6<>D5,AGGREGATE(3,5,E6)+A5,A5),2)

相关内容