Excel公式报错:按代理统计Outreach状态下的唯一地主数
解决Excel统计唯一地主数量的公式问题
原公式错误原因
你输入的公式=COUNTA(UNIQUE(A:A,COUNTIFS(B:B=E2,C:C="Outreach")))逻辑有误,UNIQUE函数的参数不支持直接传入COUNTIFS条件。UNIQUE的语法是UNIQUE(array, [by_col], [exact]),第二个参数是布尔值(是否按列提取唯一值),第三个是是否精确匹配,不能用来做条件筛选。
针对不同Excel版本的正确公式
情况1:Excel 365/2021及以上(支持动态数组)
推荐用更简洁的COUNTUNIQUEIFS函数,专门统计多条件下的唯一值数量:
=COUNTUNIQUEIFS(A:A,B:B,E2,C:C,"Outreach")
如果需要处理无匹配结果时返回0(避免#CALC!错误),可以套一层IFERROR:
=IFERROR(COUNTUNIQUEIFS(A:A,B:B,E2,C:C,"Outreach"),0)
也可以用FILTER+UNIQUE+COUNTA的组合实现:
=IFERROR(COUNTA(UNIQUE(FILTER(A:A,(B:B=E2)*(C:C="Outreach")))),0)
逻辑:先用FILTER筛选出当前代理(E2)且状态为Outreach的地主数据,再用UNIQUE去重,最后用COUNTA统计去重后的数量。
情况2:旧版Excel(不支持动态数组和COUNTUNIQUEIFS)
用SUMPRODUCT结合COUNTIF实现:
=SUMPRODUCT((B:B=E2)*(C:C="Outreach")/COUNTIF(A:A,A:A&""))
逻辑:通过(B:B=E2)*(C:C="Outreach")筛选符合条件的行,再除以每个地主在A列的出现次数,这样每个唯一地主只会被计算1次,最终求和得到数量。
内容的提问来源于stack exchange,提问作者Kolev_I_N
相关产品推荐
相关产品推荐

