答案1
这看上去很丑陋,但确实有效:
脚步:
- 在我的示例中选择
A1:D4
: 通过公式应用新的条件格式规则:
=COUNTIFS(INDIRECT("A1:A"&COUNTA($A:$A)),$A1,INDIRECT("B1:B"&COUNTA($B:$B)),$B1,INDIRECT("C1:C"&COUNTA($C:$C)),$C1,INDIRECT("D1:D"&COUNTA($D:$D)),$D1)>1
应用条件格式并按确定
为什么不直接COUNTIFS
使用完整的列范围,而要使用易变的INDIRECT
范围?因为这会占用大量 CPU,所以我会选择一个较长的公式,而不是不断检查整个列的公式(因为谁知道您要实现多少列)。
不会INDIRECT
有害吗?本身不会,因为条件格式本身就不稳定。因此,我会选择快速COUNTA
范围。甚至可能使用多个MATCH
函数来获取最后使用的行会更快。
=COUNTIFS(INDIRECT("A1:A"&MATCH("ZZZ",$A:$A)),$A1,INDIRECT("B1:B"&MATCH("ZZZ",$A:$A)),$B1,INDIRECT("C1:C"&MATCH("ZZZ",$A:$A)),$C1,INDIRECT("D1:D"&MATCH("ZZZ",$A:$A)),$D1)>1
虽然没有变得漂亮,但至少变得更快了:)
答案2
一种方法是使用条件格式SUMPRODUCT
:
=SUMPRODUCT(--($A:$A=$A1),--($B:$B=$B1),--($C:$C=$C1),--($D:$D=$D1))>1