Excel用COUNTIF统计C列值为B且对应E行非空时出现#VALUE!错误如何解决
公式修正方案

正确可直接使用的公式
最简洁的方案直接用COUNTIFS多条件匹配即可,天然支持同行动态匹配:
=COUNTIFS(C2:C9,"B",E2:E9,"<>")
- 逻辑说明:
COUNTIFS会逐行校验两个条件:- 当前行C2:C9范围内的单元格值为
"B" - 同一行E2:E9范围内的单元格非空
同时满足两个条件的行才会被计入总数,完全匹配需求。
- 当前行C2:C9范围内的单元格值为
如果需要兼容更旧的Excel版本,也可以用SUMPRODUCT实现相同效果:
=SUMPRODUCT((C2:C9="B")*(E2:E9<>""))
原公式报错原因
原有公式存在两个核心问题:
- 语法结构错误:
COUNTIFS要求参数必须按照「条件范围、判断条件」的规则成对传入,你将E列的判断条件写到了COUNTIFS函数外部、作为SUM的第二个参数,参数类型不匹配,因此直接返回#VALUE!错误。 - 范围冗余:需求仅统计C2:C9和对应E行,你用了整列
C:C/E:E,既会增加无效计算量,也有概率混入其他行的异常数据。
内容的提问来源于stack exchange,提问作者Zacchini
相关产品推荐
相关产品推荐

