学Excel函数怎能不会SUMPRODUCT?

哈罗,大家好,今天给大家分享一个很常用也很实用的函数:SUMPRODUCT 。众所周知,条件求和及计数是表格使用者最经常碰到的两个问题,而该函数恰恰兼具条件求和与计数两大功能于一身;于是便不可不学了 。
基础语法
SUMPRODUCT的官方语法说明是在给定的几组数组(array)中,将数组间对应的元素相乘,并返回乘积之和 。语法格式如下:
=SUMPRODUCT(array1,array2,array3, …)
——SUM是求和的意思,PRODUCT是相乘的意思,参数之间相乘之后再求和,你看,SUMPRODUCT确实人如其名了 。
看我手,歪、图、斯瑞……总结起来,SUMPRODUCT函数具有以下三个特点:
1> 它本身默认执行数组运算 。
2> 它会将参数中非数值型的数组元素作为0处理 。
3> 参数必须有相同的尺寸,否则返回错误值 。
特点解析
看完了SUMPRODUCT的简历,想必很多朋友是雾里看花,仅仅对它有个模糊的认知,它的这些特点是啥意思?它到底能够胜任什么样子的工作?其实并不了然 。
打个响指,我举几个例子 。

学Excel函数怎能不会SUMPRODUCT?

文章插图
 
如上图所示的数据表,C列是商品单价,D列是销售数量,现在需要在C9单元格计算销售总额 。
C9输入以下公式,即可得出结果11620.60
=SUMPRODUCT(C3:C7, D3:D7)
这便是一个简单的SUMPRODUCT函数了 。它的运算过程是:C3:C7和D3:D7两个区域数组内的元素分别相乘,也就是C3*D3,C4*D4,C5*D5……直至C7*D7
学Excel函数怎能不会SUMPRODUCT?

文章插图
 
等于先将每个商品的销售金额计算出来,最后汇总求和 。
由于SUMPRODUCT函数第一个特点,本身是支持数组间运算的,所以虽然该公式执行了多项运算,但并不需要按数组三键结束公式输入 。
有的朋友说啦,公式也可以写成这样:
=SUMPRODUCT(C3:C7*D3:D7)
或者使用以下数组公式,也是可以的 。
=SUM(C3:C7*D3:D7)
那么这三个公式之间有什么区别呢?
首先,大部分情况下,SUMPRODUCT函数都不需要数组三键结束公式输入即可执行数组运算,而SUM函数是需要的 。
其次,就要说到SUMPRODUCT函数另一个非常重要的特点了 。
……
我们将上面的表稍做改动,将“钢笔”的销售数量更改为:暂未统计 。同样需要在C9单元格计算销售总额 。
学Excel函数怎能不会SUMPRODUCT?

文章插图
 
这时候,如果使用公式:
=SUMPRODUCT(C3:C7*D3:D7)
或者数组公式:
=SUM(C3:C7*D3:D7)
都将返回错误值#VALUE!
返回错误值的原因在于D4单元格“暂未统计”为文本值,文本值是无法直接参与数学运算的,于是C4*D4返回错误值#VALUE!,进而造成整个公式的结果返回错误值 。
而使用以下公式就没有这方面的困扰,会直接返回正确结果:
=SUMPRODUCT(C3:C7,D3:D7)
这便是SUMPRODUCT函数的第二个特点:将非数值型的数组元素作为0处理 。
以该示例来说,D4单元格的值“暂未统计”为文本,并非数值,SUMPRODUCT将其主动视为零,于是C4*D4,结果亦为零,其余数组元素照常计算,得出11385.60的结果 。
需要特别说明的是,SUMPRODUCT将非数值型的数组元素作为0处理,所谓的非数值型数组元素,包含逻辑值、文本,但并不包含错误值,如果数组元素中包含错误值,该公式亦返回错误值,比如该示例的第一条公式 。
……
说完了SUMPRODUCT函数的两个特点,我们就再来聊聊它的第三个特点:数组参数必须有相同的尺寸,否则返回错误值 。

推荐阅读