office excel 2007
查过SUMPRODUCT()函数的使用方法,其解释为在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。按我个人解释就是两个以上的数组乘积之和。其语法格式为SUMPRODUCT(array1, [array2], [array3],…),其中每个array都表示一个数组,array个数不超过255个。
以下面这个表格为例应用该函数,输入公式=SUMPRODUCT(A2:A8,B2:B8)
结果是168,那么这个值是怎么来的呢,代表什么意思?
我们通过函数解释验证看看,所以将数据1和数据2两列数组分别相乘,最后相加。
看到结果是168,与sumproduct函数求的结果一致,也与函数解释一致。到此我们大体理解了该函数的运算原理。
上面的函数解释以及举例已经将函数的一个功能——乘积求和展示给了大家。
sumproduct函数也可以进行计数,我们以下面这个例子演示用法。
我们在E2单元格输入公式=SUMPRODUCT((A2:A10='二班')*(B2:B10='数学')),表示同时满足二班和数学这两个条件的情况有几个,也就是进行条件计数。
结果是1,确实无误。
其原理是((A2:A10='二班'),就是数组中各行的值如果是二班,就是“真”,否则,就是“假”,“真”对应值为1,“假”对应值为0,当有这个条件表达后,A2:A10的值是“0,0,0,1,1,1,0,0,0”。(B2:B10='数学'),就是数组中各行的值如果是数学,就是“真”,否则,就是“假”,“真”对应值为1,“假”对应值为0,值是“0,1,0,0,1,0,0,1,0”。 这两个经过变换后的数组乘积之和就是1。
以下面实例用sumproduct函数进行条件求和。
在E2单元格输入公式=SUMPRODUCT((A2:A10='二班')*(B2:B10='数学')*(C2:C10)),表示满足A列是二班,B列是数学的时候,求均分,结果正确。
在E4单元格输入公式=SUMPRODUCT((B2:B10='数学')*(C2:C10)),表示满足B列是数学的时的均分之和。
验证看到三个班数学均分之和是245.。
请大家多看下条件计数最后原理解释,看懂了基本就可以对sumproduct函数有了比较深入的理解
sumproduct函数也有其劣势,数据量非常大时运行速度较慢。