excel中if函数一列数据满足条件时,使用公式求满足该条件的数量,否则为0的公式该怎样编写?

excel中if函数一列数据满足条件时,使用公式求满足该条件的数量,否则为0的公式该怎样编写?我用公式=IF(B3:B149="某单位",count(E3:E148),0)怎么不对呢?

本问题有现成的函数,公式为:
=COUNTIF(B3:B149,"某单位")
从你的公式来看,用了COUNT,那就是要对数字个数计数。而计数的条件是B列为“某单位”,那不就是B列为“某单位”的单元格个数吗?所以用上面的公式即可。
现在按你的思路来修改公式,那就是:
=CONT(IF(B3:B149="某单位",E3:E148))
且这是一个数组公式,要同时按Ctrl+Shift+Enter三键输入数组公式
公式中的IF第3参数要忽略,不能用0,因为COUNT计数时,0也是按数字计数的,而忽略,就会在IF不成立时,得FALSE,不会计数。
对于提问中B列到149,而E列只到148,少一个,不知输入时的笔误,还是特意要求。上面的公式按特意要求考虑的。
再来分析下你公式出错的问题:
IF(B3:B149="某单位"
结果得到TRUE或FALSE,共147个数据,是一个数组。
第2参数:count(E3:E148)
就是对E3:E148进行计数,如果D3:E148中都是数字,结果就是146。
所以对应B3:B149="某单位"结果为TRUE的,就得到146,而结果为FALSE的,就取IF的第3参数:0。
因此公式的结果就是由146和0组成的内存数组,共147个。如果你的Excel版本是2021,就会自动扩充数组公式,得到这147个数据。而较低的版本则只会显示147个数据中的第1个,如果B3正好是“某单位”,IF条件成立,就会显示“146”;而如果B3不是“某单位”,IF条件不成立,就会显示“0”。
当然,也许你是要得到B列为某单位的对应的E列数据的和,那就要用SUMIF,公式就是:
=SUMIF(B3:B149,"某单位",E3:E149)
公式中B列与E按一一对应考虑了,没有用E148。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-09-11
这应该是个条件求和公式,正确的公式为 =sumif(b:b,"某单位",e:e)