打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel函数 | 来聊一聊SUMPRODUCT函数,绝对有料!


SUMPRODUCT函数并不是一个被各位办公精英大量使用的函数,大多数办公人士学习这个函数或者接触这个函数是始于下面这个案例:

这里我们要求购物的总金额,最常规的方法就是把每项的单价乘以数量再做求和,这个公式的形式如下:

很长是不是?所以Excel给了我们SUMPRODUCT函数,利用这个函数我们可以很轻松的解答这个问题。

SUPRODUCT这个词由SUM和PRODUCT两个单词组成,前者表示求和,后者表示乘法。什么?PRODUCT不是产品的意思么?大学英语6级早已忘光的老王,只能靠度娘解释:

嗯!确实有乘法的意思!

所以这个单词从字面上来理解,就是多组数据先做乘法再求和。下面我们来详细解析这个函数。

 

函数参数说明

当我们在单元格内输入SUMPRODUCT函数时,我们能看到参数提示:

这里array1,array2…表示要做乘法的数组或者区域(从字面看array其实就是数组的意思嘛!),而array2开始都有方括号,说明第二个数组或者区域之后是可选的,也就是可有可无,也就是这个函数你可以传入一个或者多个数组或者区域。

函数参数倒是简单,可说了一通是不是感觉还是云里雾里,那么就用几个例子要演示下具体用法。

 

常规用法

1、两个区域

最常规的用法就是上面的先乘法后求和,比如求下面的销售总额,和开头的例子一模一样。


2、三个区域

从参数说明我们能看到,SUMPRODUCT函数支持传入多个区域,比如求下面的销售提成。


3、一个区域

如果参数只传入一个区域,这个时候好像没有另外一组数据与之相乘,所以这个时候就直接把这组数据求和,或者当是乘以了一个同等大小的但是数值都是1的区域。这时的效果和SUM函数一模一样。看起来比较特殊,所以稍微放到后面一点,一般不会直接这样用。


数组用法

我们从一开始就说的是这个函数可以接受1个或者多个数组或者区域,那么和数组结合到底怎么用呢?


1、单条件求和

比如要求99套餐的销售总量,可以将条件作为第一个数组,另一个数组是对应的数量。

这里简单解析一个这个数组公式。

(B2:B10='99套餐')这里是一个数组的条件写法,也是利用数组公式求带条件问题的通用套路。我们在编辑栏里把这个选中,然后按F9就会发现公式变成如下形式,TRUE的话表明B2:B10里对应的套餐是99套餐。

然后我们把这个TRUE和FALSE组成的数组乘以1的结果用F9运算出来,得到另外一个数组,原来的TRUE变成了1,FALSE变成了0。这里利用到了TRUE*1=1,FALSE*1=0这个性质,将逻辑值转换成了数字。你看下面这个形式,不就是第一个参数是数组么。当然第二个参数的这个区域也可以认为是一个数组,不信你选中按F9看看。

另外说明一下,这里SUMPRODUCT函数的效果和SUMIF一致。


2、多条件求和1

如果我们要求1月份99套餐的销售数量,可以将两个条件乘起来作为第一个数组,另外一个数组即为对应的销量。

这里每个条件如果利用F9分步运算会得到上述类似的TRUE和FALSE组成的数组,利用TRUE*TRUE=1,TRUE*FALSE=0,FALSE*FALSE=0,可将TRUE和FALSE组成的数组相乘得到1和0组成的数组。这里SUMPRODUCT函数的效果与SUMIFS一致。具体分步运算的结果大家可以试一下。


3、多条件求和2

如果我们要求1月或者2月的99套餐的销售总量,我们可以利用下面这个公式。

这里我们将或的两个条件用加法,注意里面的括号较多不要看花眼了。用到了TRUE FALSE=TRUE,FALSE FALSE=0的规则。这里SUMPRODUCT函数相当于两个SUMIFS相加。具体分步运算的结果大家可以用F9试一下。


4、多条件求和3

如果我们要求1月份99套餐的销售总额,我们可以用下面这个公式。


5、灵活的用法——数组运算的灵魂

SUMPRODUCT函数可以将一组或者多个数组做乘法然后做加法,然而,数组本身就可以做乘法,结果是每一个元素对应相乘得到的数组,所以我们完全可以把所有参数里的数组先做数组相乘然后传入SUMPRODUCT函数作为第一个参数。

比如这种普通用法


比如三个数组


比如一个条件


比如两个条件

 大家注意看里面的逗号和乘号哦。另外我还要偷偷告诉你,不仅这种组合成一个数组可行,任一的数组组合也是可行的。


比如多条件求和3

很神奇吧,所以我要偷偷的告诉你,不然你要我把所有的情况都写完我可真是累死了。


最后做几点说明

1、关于数组的三键

如果大家对数组稍微了解的话,应该知道数组公式是需要通过按CTRL SHIFT ENTER的形式才能得到结果,但是以上的数组公式,并没有“{}”的标识,也就是不需要三键结束。这里说明的就是在很多情况下,SUMPRODUCT函数可以将函数变得简洁,毕竟很多人一看到数组公式就会感觉是座大山。


2、关于数组的大小

还有一点需要注意的是,这里面所引用的多个区域或者数组,所包含的单元格个数或者数组元素个数是必须相等的,如果不等会出错的哦。


3、与数组乘法的差异

另外还有一点要说明的就是,虽然SUMPRODUCT函数是将多个数组先做乘法再求和,但是和实际的数组相乘求和有点差别。比如单条件求和的时候,如果是第一个条件数组没有乘1就不能得到正确的结果,但是如果将第一个条件数组直接乘以第二个数组结果却是正确的。

这是因为在数组的乘法里,还有一个规则是,TRUE*某数字=某数字,FALSE*某数字=0,这个在上面的第二个公式可以体现,有兴趣的可以按F9分步骤运算看看。显然上面第一个公式中第一个数组是由TRUE和FALSE构成的数组,但是无法得到正确的结果,说明SUMPRODUCT的运算机制并不是直接的数组乘法。


留个家庭作业,如果要求1月份99套餐的销售提成,你可以用SUMPRODUCT写出多少个公式来,如果能写出多个公式,那么这篇文章你就是看明白了,或者你本来就明白的。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Excel公式技巧31: 使用SUMPRODUCT函数巧妙处理多条件判断
SUMPRODUCT函数还有这么多用法,你却只会用它来求和?
sumproduct多条件求和经典问题(乘号和逗号)剖析
SUMPRODUCT函数一个顶俩
这个Excel查找匹配问题着实难住了我,猜你也不会
SUMPRODUCT函数使用方法及示例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服