Excel公式忽略空白单元格统计非指定列表数据错误的方法
Excel公式忽略空白单元格统计非指定列表数据错误的方法
嘿,这个问题我太熟悉了!你原来的公式之所以会把空白单元格算成错误,是因为空白值本身不在你的MyList里,所以COUNTIF(MyList,TestData)=0对空白单元格会返回TRUE,进而被统计进去。咱们只需要加个条件排除掉空白单元格就行,给你两种实用的修改方案:
方案一:在SUMPRODUCT里追加非空白判断
直接在原公式里加一组判断条件,筛选出非空白的单元格:
=SUMPRODUCT(--(COUNTIF(MyList,TestData)=0),--(TestData<>""))
这里的--(TestData<>"")会把非空白单元格转换成数值1,空白单元格转换成0,和前面的错误判断结果相乘后,空白对应的结果就变成0,自然不会被计入统计总数了。
方案二:用COUNTIFS简化逻辑(适合Excel 2007及以上版本)
如果你觉得SUMPRODUCT的写法有点绕,也可以用COUNTIFS来实现,逻辑更直观:
=COUNTIFS(TestData,"<>",TestData,"<>"&TEXTJOIN(",",TRUE,MyList))
不过这个方法需要注意:如果MyList的内容太多,TEXTJOIN拼接的字符串可能会超出字符限制,这时候还是方案一更稳妥。
简单测试一下:假设你的TestData里有3个不在列表里的有效数据,还有2个空白单元格,修改后的公式只会返回3,完美忽略空白!
备注:内容来源于stack exchange,提问作者divs1000




