Excel公式无匹配时返回1而非0,寻求修正方案
解决Excel公式无匹配时返回1的问题
原公式在无匹配数据时返回1,核心原因是:当FILTER函数找不到符合条件的数据时,会返回#CALC!错误值,而COUNTA会将这个错误值判定为非空内容,因此计数结果为1。
以下是几种可行的修改方案:
方案1:适配文本/混合数据场景
用IFERROR将无匹配时的错误结果替换为空数组,让COUNTA返回0:
=COUNTA(UNIQUE(IFERROR(FILTER(Report_OP!B:B, (Report_OP!T:T=$C$3)*(Report_OP!S:S=B4)), "")))
方案2:仅适配数值型数据场景
如果Report_OP!B:B列全是数值,直接用COUNT替代COUNTA,它会自动忽略错误值:
=COUNT(UNIQUE(FILTER(Report_OP!B:B, (Report_OP!T:T=$C$3)*(Report_OP!S:S=B4))))
方案3:逻辑更直观的行数统计法
用ROWS统计唯一结果的行数,配合IFERROR捕获无匹配的错误,直接返回0:
=IFERROR(ROWS(UNIQUE(FILTER(Report_OP!B:B, (Report_OP!T:T=$C$3)*(Report_OP!S:S=B4)))), 0)
内容的提问来源于stack exchange,提问作者Spark
相关产品推荐
相关产品推荐

