如何用COUNTIFS结合多条件识别发票金额非空的重复配送单号
多条件识别重复配送单号(仅统计发票金额非空记录)
正确公式写法
方法1:COUNTIFS直接判断非空
假设配送单号列是A:A,发票金额列是B:B,当前行是第2行,直接用以下公式:
=COUNTIFS($A:$A,$A2,$B:$B,"<>")
公式逻辑:统计A列中与当前单元格A2匹配的记录,同时要求对应B列单元格不为空的总数量。若结果大于1,说明该配送单号在发票金额非空的记录里存在重复。
方法2:SUMPRODUCT适配复杂空值场景
如果遇到单元格存在隐形空格(看似为空实际有内容)导致COUNTIFS判断失效的情况,用SUMPRODUCT结合LEN函数精准判断:
=SUMPRODUCT(--($A:$A=$A2),--(LEN($B:$B)>0))
LEN($B:$B)>0会排除所有无实际内容的单元格(包括空格),--用于将逻辑判断结果转为1/0,SUMPRODUCT最终计算同时满足两个条件的记录总数。
常见问题排查
- COUNTIFS中无需嵌套
NOT(ISBLANK()),直接用"<>"即可表示非空,额外函数嵌套会导致条件失效。 - 若发票金额列存在空格,可替换条件为
"<>"&"",或结合TRIM函数过滤空格:
或SUMPRODUCT写法:=COUNTIFS($A:$A,$A2,$B:$B,"<>"&"")=SUMPRODUCT(--($A:$A=$A2),--(TRIM($B:$B)<>"")) - 确认引用的列范围准确,避免选错或漏选数据列。
内容的提问来源于stack exchange,提问作者brandyfur
相关产品推荐
相关产品推荐

