Sumproduct函数的使用方法

一、sumproduct函数的含义
Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和 。
从字面上可以看出,sumproduct有两个英文单词组成,sum是和,product是积,所以是乘积之和的意思 。
二、sumproduct函数的语法格式
=SUMPRODUCT(array1,array2,array3, …)Array为数组 。
三、sumproduct函数案列——基础用法
1、当sumproduct函数中的参数只有一个数组时,即对数组{1;2;3;4;5;6;7}进行求和,1+2+3+4+5+6+7=28 。
2、当sumproduct函数中参数为两个数组时,两个数组的所有元素对应相乘 。
公式=sumproduct(A2:A8,B2:B8)可转化为
=sumproduct(数组1,数组2)
=sumproduct({1;2;3;4;5;6;7},{1;2;3;4;5;6;7})=1*1+2*2+3*3+4*4+5*5+6*6+7*7=140 。
3、当sumproduct函数中参数为三个数组时,三个数组的所有元素对应相乘 。
四、sumproduct函数案列——多条件求和
1、单条件求和——统计成都发货平台的发货量 。
=sumproduct((A2:A13="成都发货平台")*(B2:B13))
看到这公式你可能有疑惑,它跟语法格式好像不一样,其实把它看做是只有一个参数 。因为当函数中出现由TRUE和FALSE组成的逻辑数组时,这时公式要写成这种格式=sumproduct((A2:A13="成都发货平台")*1,(B2:B13)),乘以1,把它转化成数组才能参与运算 。否则就写成最上面的那种形式 。
公式分解
=sumproduct({数组1}*{数组2})
【Sumproduct函数的使用方法】=sumproduct({TRUE;…..TRUE;…..TRUE}*{11012;…41568;…12506})
=1*11012+1*41568+1*12506=65086 。
有关sumif函数的用法,可以查看教程:
sumifs函数的使用方法及实例_sumif多条件求和
2、多条件求和——求当发货平台为成都,收货平台为重庆的发货量 。
=SUMPRODUCT((A2:A13="成都发货平台")*(C2:C13="重庆发货平台")*(D2:D13))
有关sumifs函数的用法,可以查看教程
sumifs函数的使用方法及实例_sumif多条件求和
3、多条件求和——求成都发货平台和重庆发货平台的发货量,只要满足其中的一个条件
输入公式=SUMPRODUCT(((A2:A13="成都发货平台")+(A2:A13="重庆发货平台")),(B2:B13))
注意:SUMPRODUCT(条件1*条件2*条件3…条件N)中 * :满足所有条件;SUMPRODUCT(条件1+条件2+条件3…+条件N)中 + :满足任一条件 。
五、sumproduct函数案列——多条件计数
如图,输入公式=SUMPRODUCT((A2:A13="成都发货平台")*(C2:C13="重庆发货平台")) 。利用sumproduct函数中TRUE和FALSE逻辑数组1和0的特效来计数 。
公式解析=sumproduct({1;0;0;0;0;0;0;0;0;1;0;1}*{1;0;0;0;0;0;1;0;0;1;0;0})=2
六、sumproduct函数——实现有条件排名
输入公式=SUMPRODUCT((D2<$D$2:$D$8)*1)+1
数组公式D2<$D$2:$D$8这里是由TRUE和FALSE组成的逻辑数组{FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE}转化为1和0的数组{0;1;1;0;1;0;1} 。
这里利用的是该成绩和所以成绩进行比较,通过测算高于该成绩的成绩,每次累加1 。
七、sumproduct函数使用的注意点
1、sumproduct函数后面的参数必须是数组,即行和列的维度是一致的 。参数维数不一致所以返回错误值#VALUE!
2、sumproduct函数,逗号分割的各个参数必须为数字型数据 。
如果是判断的结果逻辑值,就要乘1转换为数字 。
如果不用逗号,直接用*号连接,就相当于乘法运算,就不必添加*1 。

    推荐阅读