分享缩略图
Excel新晋万能函数, 吊打SUMIFS, 让LOOKUP黯然失色!
来源:文汇报 2025-05-07 05:18:11
大字

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!

今天跟大家分享的Excel新晋万能函数,就是那个大家熟悉但又未必能完全掌握的——SUMPRODUCT函数!这个函数最初只是用于简单的分组乘积后求和,但确被一些Excel大牛发掘出了无数扩展用法。

SUMPRODUCT函数介绍

功能:SUMPRODUCT函数主要功能是返回相应的数据或区域乘积的和。

语法:=SUMPRODUCT(数组1,数组2,数组3, ...)。

解读:

①数组1,数组2,数组3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。

②数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。

③函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。

一、基本乘积求和

万能公式:=SUMPRODUCT(数组1,数组2,数组3, ...)

实例:

如下图所示,这是一个商品单价和数量信息表,需要计算总价格。

在目标单元格中输入公式:

=SUMPRODUCT(B2:B7,C2:C7)

然后点击回车即可

解读:

SUMPRODUCT函数的功能是返回相应的数据或区域乘积的和,公式=SUMPRODUCT(B2:B7,C2:C7)中,数据区域有B2:B7和C2:C7两个,这两个数据区域对应数据元素先乘积,后求和,得到最终的总价格。

二、单条件计数(抢COUNTIF饭碗)

万能公式:=SUMPRODUCT(--(条件数据区域=条件))

实例:

如下图所示,统计女性员工人数。

在目标单元格中输入公式:

=SUMPRODUCT(--(C2:C6="女"))

然后点击回车即可

解读:

①公式中的(C2:C6="女")就是把表格中的“性别”这列数据的每个元素跟“女”做判断,返回的结果是一个数组由逻辑值TRUE或者FALSE(备注:逻辑值TRUE可以看做1,逻辑值FALSE可以看做0)组成。

②前面添加双减号“--”,其实就是一个减负运算,可以将文本数字串或逻辑值转换为数值,就是把逻辑值TRUE转成数值1,把逻辑值FALSE转成数值0。因为SUMPRODUCT函数会将非数值型的数组元素作为0 处理,所以我们要先转换,转换后再求和。

三、多条件计数(抢COUNTIFS饭碗)

万能公式:=SUMPRODUCT((条件数据区域1=条件1)*(条件数据区域2=条件2)*(条件数据区域N=条件N))

实例:

还是以下图为例,统计考核成绩大于90分的男性人数。

在目标单元格中输入公式:

=SUMPRODUCT((C2:C6="男")*(D2:D6>90))

然后点击回车即可

解读:

多条计数其实跟单条件求和十分相似,只添加了一个条件。

四、单条件求和(抢SUMIF/SUMIFS饭碗)

万能公式:=SUMPRODUCT((条件数据区域=条件)*求和数据区域)

实例:

如下图所示,对性别为“女”的员工销售业绩求和

在目标单元格中输入公式:

=SUMPRODUCT((D2:D6="女")*F2:F6)

然后点击回车即可

解读:

公式中有二个数据区域分别是D2:D6="女"、F2:F6,当D2:D6性别区域内的值等于"女"时返回逻辑值TRUE(1),否则返回FALSE(0)。然后二个数据对应元素先乘积,再求和,从而计算得到女性员工销售业绩求和。

五、多条件求和(抢SUMIFS饭碗)

万能公式:=SUMPRODUCT((条件数据区域1=条件1)*(条件数据区域2=条件2)*(条件数据区域N=条件N)*求和区域)

实例:

如下图所示,对“业务部”考核成绩大于85的员工销售业绩求和

在目标单元格中输入公式:

=SUMPRODUCT((C2:C6="业务部")*(E2:E6>80)*F2:F6)

然后点击回车即可

解读:

多条件求和同“单条件求和”类似,只是增加了一个判断条件而已。

当然单条件/多条件求和中,有一个比较经典的用法,就是按月单条件/多条件求和。

万能公式:=SUMPRODUCT((MONTH(日期列)=数字月份)*(条件数据区域1=条件1)*(条件数据区域N=条件N)*求和数据列)

如下图所示,对“业务部”按月汇总销售业绩

在目标单元格中输入公式:

=SUMPRODUCT((MONTH(D2:D10)=G2)*(B2:B10=F2)*C2:C10)

然后回车即可

解读:

①首先使用MONTH(D2:D10)把左侧日期转换成数字月份,然后跟G2单元格要查询汇总的月份比较,如果成立返回逻辑值TRUE,否则返回FALSE。

②B2:B10=F2:检查B2:B10区域内的值是否与F2单元格中的值相同,同样返回一个TRUE和FALSE的数组。

③最后在跟C2:C10数据数组相乘,并返回乘积的总和。

六、多条件查找(抢LOOKUP饭碗)

如下图所示,我们根据姓名、部门查询对应的报销费用。

在目标单元格中输入公式:

=SUMPRODUCT((A2:A10=F2)*(B2:B10=G2)*C2:C10)

然后回车即可

解读:

其实上面公式原理上还是多条件求和公式,只是求和区域只有一个符合条件,也就类似于多条件查询指定值。

七、横竖交叉查询

Excel横竖交叉查询,所谓横竖交叉查询,其实就是判断条件一个是纵横的,一个是横向的。

如下图所示,我们根据左侧表格中的姓名和商品名称来查找最终的销售额,一个是一个是纵横的,一个是横向的,也就是交叉查询。

在目标单元格中输入公式:

=SUMPRODUCT((A3:A11=F2)*(B2:D2=G2)*B3:D11)

然后点击回车即可

解读:

这个公式本质上还是实用SUMPRODUCT函数进行多条件求和。

①A3:A11=F2,【姓名】等于需要统计的姓名,其实它是对左侧信息表【姓名】进行判断,判断是否等于右侧查询表格的【姓名】,结果是一行逻辑值True(1),False(0),本质是1维的列数组。

②B2:D2=G2,【商品名称】等于需要统计的产品,其实它是对左侧信息表【商品名称】进行判断,判断是否等于右侧查询表格的【产品姓名】,结果是一行逻辑值True(1),False(0),本质也是1维的列数组。

③B3:D11,需要统计的产品销量区域,是一个多行多列的二维数组。

最后将这三个式子相乘,就得到了我们需要查询的结果了。当然如果是进行交叉多条件求和也是一样的道理,直接套用上面的公式就可以。

以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!

分享到
037165901996 回顶部