编程技术分享平台

网站首页 > 技术教程 正文

SUM、SUMPRODUCT、SUMIFS三大求和函数,谁才是真正的求和之王?

xnh888 2024-11-21 23:02:27 技术教程 30 ℃ 0 评论

原创作者: 卢子 转自: Excel不加班

今天,卢子来一场求和函数对比的文章,对于普通人看完你就明白哪个函数更适合你?

用过数组公式的都知道,对于多条件求和或计数,我们一般都采用SUM函数的数组公式来计算。根据学部跟性别两个条件统计总成绩。

这时会采用SUM函数的数组公式进行解决。

=SUM(($E$2:$E$16=G2)*($C$2:$C$16=H2)*$D$2:$D$16)


确实这是解决问题的一种方法,但往往对于初用数组公式的朋友,常常会遗忘用Ctrl+Shift+Enter组合键来结束,而用Enter键直接结束,导致出错。


出于这个原因,能否用SUMPRODUCT函数来代替常用SUM函数的多条件求和公式呢?结果答案是肯定的。


把上面的公式稍做修改即可。

=SUMPRODUCT(($E$2:$E$16=G2)*($C$2:$C$16=H2)*$D$2:$D$16)


可以直接用Enter来结束,函数仍然可以正确计算结果。


原因在于:SUMPRODUCT函数本身就支持数组间运算(相同尺寸的数组相乘后再加总),因此我们不需要用数组公式组合键来结束。


对于多条件求和,最后一个*也可以用,代替。

=SUMPRODUCT(($E$2:$E$16=G2)*($C$2:$C$16=H2),$D$2:$D$16)


但是并不是所有情况下都可以用,代替*,如现在只是根据学部统计成绩。

=SUMPRODUCT(($E$2:$E$16=G2)*$D$2:$D$16)


用,代替*,会得到错误的结果。

如果多个条件这样并列写入,系统默认是用相乘来运算,但是SUMPRODUCT函数不支持逻辑值数组常量间相乘,因此请一定要将逻辑值转换成数值才行。


将逻辑值转换成数值可以用--、*1、+0等等。

=SUMPRODUCT(--($E$2:$E$16=G2),$D$2:$D$16)


,代替*有两个好处:

①当数据源出现文本值的时候当做0处理,进行运算就不会出错,而用*就会出错。


②运算速度更快。


也就是说,在大多数情况下用SUMPRODUCT函数可以取代SUM函数的数组公式,无需按三键结束这一点有极大的优势。


当然了,如果只是普通的条件求和,用SUMIFS函数是最理想的。


函数语法:

=SUMIFS(求和区域,条件区域1,条件1,求和区域2,条件2)


刚刚的多条件求和,根据学部和性别,获取总成绩。

=SUMIFS(D:D,E:E,G2,C:C,H2)

成绩含有文本的情况下,SUMIFS函数也可以轻松解决。

=SUMIFS(D:D,E:E,G2)



在处理常规的条件求和,SUMIFS函数无疑是最好的,公式简洁,运算效率最高,绝对的王者。


(此处已添加圈子卡片,请到今日头条客户端查看)


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表