Excel公式:sumproduct函数的含义、语法,以及基础应用
今天跟大家一起来认识一个很好用的函数:sumproduct函数 。
sumproduct函数,sumproduct是由两个英文单词组成,即sum和product 。Sum代表求和,product代表乘积,组成的sumproduct就是乘积之和 。
现在我们来详细说一下sumproduct函数的含义、语法,以及它的基础应用 。
一、sumproduct函数介绍
1、sumproduct函数——含义
Sumproduct函数,在给定的几组数组中,把数组间对应的元素相乘,最后返回乘积之和 。
2、sumproduct函数——语法格式
=sumproduct(数组1,数组2,数组3, ……)
数组里面的相应元素进行相乘后,再将乘积求和 。
比如:
=SUMPRODUCT({1;2;3;4;5},{1;2;3;4;5})=1*1+2*2+3*3+4*4+5*5=55
注意:数组参数必须具有相同的维数,否则返回错误 。意思就是如果第一个数组有5个元素,那么其它数组也必须是5个元素 。
当然,也可以这样:
=sumproduct(区域1,区域2,区域3, ……)
比如:=SUMPRODUCT(A1:A3,B1:B3,C1:C3)=A1*B1*C1+A2*B2*C2+A3*B3*C3
同理,要求各个区域的大小和形式是一致 。比如区域1是A1:A3,单列3行,那么其它区域也必须是单列3行 。
总结:Sumproduct是把每个区域或每个数组对应位置的值相乘,最后再将乘积求和 。
二、sumproduct函数应用
现在我们要用示例具体来看下sumproduct函数的各种玩法 。
以下面一张图为数据源:
文章插图
现准备统计以下问题:
1、统计表中所有商品总的采购金额 。
2、统计表中采购的水果总重量 。
3、统计表中采购的水果总金额 。
4、统计表中单价30元以下的水果的采购总金额 。
这四个问题归纳一下,第一个问题为简单数组求和;第二、三个问题为单条件求和;第四个问题为多条件求和 。
他们用sumproduct函数分别怎么统计?看下面:
1、简单数组求和
统计表中所有商品总的采购金额 。
我们平时一般都是分两步,先将单价*重量算出来,然后再用sum函数将结果求和 。
如果是用sumproduct函数,一步就直接搞定,
公式为:=SUMPRODUCT(C3:C11,D3:D11)
或者,你也可以把公式里的逗号(,)变乘号(*),即
=SUMPRODUCT(C3:C11*D3:D11)
文章插图
两个公式结果是一样的 。
但是用逗号和用乘号的区别在于:
公式用逗号时,在求和统计时,可以将非数值型的数组元素,当0处理;
公式用乘号时,数组元素就不能存在无法计算的内容,如文本 。
2、单条件求和
统计表中采购的水果总重量 。
用sumproduct函数表示,即:
公式一:
【Excel公式:sumproduct函数的含义、语法,以及基础应用】=SUMPRODUCT((B3:B11=”水果“)*D3:D11)
公式二:
=SUMPRODUCT(N(B3:B11=”水果“),D3:D11)
公式三:
=SUMPRODUCT((B3:B11=”水果“)*1,D3:D11)
文章插图
三个公式计算得到的结果都一样,只是写法不一样 。
公式中的(B3:B11=”水果“),是一个条件,判断区域B3:B11是否等于”水果“,结果返回逻辑值true或是false 。在这里,这一条件表达式最终运算的结果为:
{FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE}
技巧提示:你在编辑栏中,单独选中这一条件表达式,然后按F9键,就可以看到结果 。
那么经过这一步运算后,
公式一得到的是:
=SUMPRODUCT({FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE}*D3:D11)
也就是两个数组相乘,此时逻辑值直接参与运算符进行数值计算时,TRUE会自动转化为1,FALSE转化为0,
=SUMPRODUCT({0;1;0;1;1;0;1;0;0}*D3:D11),
将单元格区域D3:D11的数据代入进去,就是:
=SUMPRODUCT({0;1;0;1;1;0;1;0;0}*{20;20;60;40;30;20;10;15;30}),
到这里就明白了,就是两个数组相乘了 。
公式二在经过条件表达式那步运算后,得到的是:
=SUMPRODUCT(N{FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE},D3:D11)
那公式二为什么要在条件表达式外面加个N?
这里的N是一个函数,用来将不是数值形式的值转换为数值形式 。
因为当sumproduct函数公式里面用的是逗号时,就表示逗号两边是作为独立的参数参与乘积,也就是条件表达式返回的逻辑值就作为独立参数存在了,没有直接参与任何运算符(比如:乘号*)的运算,它是通过sumproduct内部机制进行乘积 。上面我们说过sumproduct函数会将非数值型的数组元素,当0处理 。
所以条件表达式返回的逻辑值不管是TRUE还是FALSE都会全部被直接当作0对待 。
因此,我们才要用N函数来将逻辑值转化为对应的数值1或0 。
知道了公式一和公式二的意思后,公式三就不难理解了 。
公式三在经过条件表达式那步运算后,得到的是:
=SUMPRODUCT(({FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE})*1,D3:D11)
在条件表达式后面加了*1,也是为了让逻辑值直接参与运算符的运算,将其结果转化为1或0的数组元素 。
总结:
我们先把sumproduct函数逗号或乘号前后的数据用A、B来代替,表达为:
=SUMPRODUCT(A,B)和=SUMPRODUCT(A*B) 。
当为逗号时,A、B必须同时都是数值或者数组,不能一个是数值,一个是数组;
当为乘号时,A、B可以同时都是数值或者数组,也可以一个是数值一个是数组 。
那现在要统计采购的水果总金额,公式怎么写,懂了吧?
直接见下图:
文章插图
3、多条件求和
统计表中单价30元以下的水果的采购总金额 。
公式:
=SUMPRODUCT((B3:B11=”水果“)*(C3:C11<30)*C3:C11*D3:D11)
总结:
SUMPRODUCT多条件统计,不管条件有多少,我们只管在公式里,将条件用括号括起来,再用乘号(*)把各个条件连接起来就行了 。
作者:小猪 excel和ppt与word
推荐阅读
- 一看就懂的8个Excel表格操作小技巧,远离加班
- Excel技巧:怎么把修改好的图表保存为模板直接调用?
- Excel表格里的零值太多怎么快速删除?
- excel单元格英文字母序列自动填充实用技巧
- Excel实用技巧:隐藏工作表里指定单元格某项数据操作教程
- Excel教程:在excel中奇偶行的提取与筛选方法
- Excel公式:两个批量提取工作表名称方法,简单高效
- excel技巧:财务人员快速计算小计与合计方法
- Excel如何批量插入图片,同时统一调整图片大小
- Excel小技巧:神奇的CTRL+T,这个快捷键原来这么多功能