Login
欢迎访问木星教程网_技术成就梦想 - 为知识分享服务
我要投稿 请登录 免费注册 安全退出

您现在的位置是: 首页 > 办公 > office教程

office教程

SUMPRODUCT函数能干什么?

2023-01-15 office教程 加入收藏
哈喽,哈喽,表亲们早上好,我是星光,咱们又见面了。 今天和大家分享一个名字拖沓,但是应用非常广泛的函数——SUMPRODUCT。开门见山,咱们通过几个例子,一起来看下SUMPRODUCT具体能干什么样的工作。 假设上面这张图,是某个公司工资发放的部分记录表,A列是工资发放的时间,B列是员工所属的部门,C列是员工

哈喽,哈喽,表亲们早上好,我是星光,咱们又见面了。

今天和大家分享一个名字拖沓,但是应用非常广泛的函数——SUMPRODUCT。开门见山,咱们通过几个例子,一起来看下SUMPRODUCT具体能干什么样的工作。

SUMPRODUCT函数能干什么?(图1)

假设上面这张图,是某个公司工资发放的部分记录表,A列是工资发放的时间,B列是员工所属的部门,C列是员工姓名,D列是相关员工领取的工资金额。

那么,问题来了:

一,西门庆同志领取了几次工资?

SUMPRODUCT函数能干什么?(图2)

这是一个单条件计数的问题,通常我们使用COUNTIF函数,如果使用SUMPRODUCT函数,一般写成这样:=SUMPRODUCT((C2:C13=”西门庆”)*1)

SUMPRODUCT函数能干什么?(图3)

先判断C2:C13的值是否等于”西门庆”,相等则返回TRUE,不等则返回FALSE,由此建立一个有逻辑值构成的内存数组。

SUMPRODUCT有一个特性,它会将非数值型的数组元素作为0处理,逻辑值自然是属于非数值型的数组元素,我们使用*1的方式,把逻辑值转化为数值,TRUE转化为1,FALSE转化为0,最后统计求和。

二,西门庆同志一共领取了多少工资?这是一个单条件求和的问题,通常我们使用SUMIF函数,如果使用SUMPRODUCT函数,我们可以写成这样:=SUMPRODUCT((C2:C13=”西门庆”)*D2:D13)

SUMPRODUCT函数能干什么?(图4)

依然首先判断C2:C13的值是否等于”西门庆”,得到逻辑值FALSE或TRUE,再和D2:D13的值对应相乘,最后统计求和得出结果。

看完了上面两个问题,有些表亲心里就嘀咕了,貌似SUMPRODUCT能干的事,SUMIF和COUNTIF也能做到,而且做的更好,那么还要SUMPRODUCT干啥?乡亲们呐,话不能这么说,SUMPRODUCT可以说是上得厅堂下得厨房,迷住过西门庆,暗恋过武二郎。对工作环境不挑不拣,它对参数类型没有啥特别要求,COUNTIF和SUMIF就不同咧,他俩要求个别参数,必须是单元格的区域,比如下面这两个问题,COUNTIF和SUMIF就犯难了。

三,3月份财务部发放了几次工资?3月份财务部发放了几次工资,这是一个多条件计数的问题哈:第一个条件,发放工资的时间必须是3月份;第二个条件,发放工资的部门必须是财务部。如果使用多条件计数函数COUNTIFS,判断发放工资的时间是否属于3月份,会简单问题复杂化。而使用SUMPRODUCT函数,咱们可以简单利索的写成这样:=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13=”财务部”))

SUMPRODUCT函数能干什么?(图5)

四、统计3月份财务部发放了多少工资?表亲们都晓得,这是一个常见的多条件求和问题。如果使用SUMIFS函数,判断发放工资的时间是否属于3月份,和COUNTIFS类似,也会简单问题复杂化。

SUMPRODUCT跃然而至:=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13=”财务部”),D2:D13)

SUMPRODUCT函数能干什么?(图6)

上面这个公式可以说是SUMPRODUCT多条件求和的典型用法啦,可以归纳为:

=SUMPRODUCT((条件一)*(条件二)……,求和区域)

五,3月份财务部和市场部合计发放了多少工资?通过上面的问题,表亲们已经晓得如何计算3月份财务部发了多少工资,那么3月份财务部和市场部合计发了多少工资,又当怎么计算呢?我们可以写成这样:

=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13={“财务部”,”市场部”})*D2:D13)

SUMPRODUCT函数能干什么?(图7)

好吧,唠唠叨叨说了这么多,是到了该结束的时候啦。我是男神,我是星光,仅以此文献给我已逝去的青涩小时光,以及时光里的某个人……

原文来自: