求满足指定条件且重复出现的编码数量的Excel公式
Excel统计满足条件的重复编码个数解决方案
场景一:统计type为A时重复出现的编码个数
你之前的公式要么仅统计了type=A的唯一编码总数,要么FILTER的条件逻辑错误,导致结果不符合预期。正确公式如下:
=COUNTUNIQUE(FILTER(A2:A, (B2:B="A")*(COUNTIFS(B2:B,"A",A2:A,A2:A)>1)))
公式逻辑:
COUNTIFS(B2:B="A",A2:A,A2:A)>1:统计每个编码在type=A范围内的出现次数,筛选出出现次数大于1的编码(即重复编码)FILTER(A2:A, (B2:B="A")*(COUNTIFS(...)>1)):只保留type=A且重复出现的编码COUNTUNIQUE:统计这些重复编码的唯一数量(即去重后的重复编码个数)
场景二:统计type=A且subtype=C时重复出现的编码个数
在场景一的基础上增加subtype=C的条件,公式如下:
=COUNTUNIQUE(FILTER(A2:A, (B2:B="A")*(C2:C="C")*(COUNTIFS(B2:B,"A",C2:C="C",A2:A,A2:A)>1)))
公式逻辑:
仅在COUNTIFS中新增C2:C="C"的条件,确保统计的是同时满足type=A、subtype=C且重复出现的编码,后续筛选和统计逻辑与场景一一致。
旧版Excel兼容方案(无COUNTUNIQUE函数)
如果你的Excel版本没有COUNTUNIQUE,可以用SUMPRODUCT替代:
- 场景一替代公式:
=SUMPRODUCT((B2:B="A")*(COUNTIFS(B2:B,"A",A2:A,A2:A)>1)/COUNTIFS(B2:B,"A",A2:A,A2:A))
- 场景二替代公式:
=SUMPRODUCT((B2:B="A")*(C2:C="C")*(COUNTIFS(B2:B,"A",C2:C="C",A2:A,A2:A)>1)/COUNTIFS(B2:B,"A",C2:C="C",A2:A,A2:A))
内容的提问来源于stack exchange,提问作者Mr P Wheatley
相关产品推荐
相关产品推荐

