文档库

最新最全的文档下载
当前位置:文档库 > Sumproduct函数(解释大全)

Sumproduct函数(解释大全)

SUMPRODUCT

2014-0

这是一个与SUM函数非常相似的函数。大多数情况这两个函数是可以互换使用的。

SUMPRODUCT是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

语法

SUMPRODUCT(array1,array2,array3, ...)

Array1, array2, array3, ... 为 2 至 30 个数组,其相应元素需要进行相乘并求和。

数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。

函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。

对参数有几点说明:

1、帮助中说2-30个数组,当然也可以是一个数组,如果是一个数组,那么就是对这个数组的求和。(

2、参数可以是直接引用的二维数组以及内存数组;不可以直接引用三维数组(sum可以)以及indirect,

3、参数中如含有错误值,则返回对应的错误值。

下面我就举几个例子对上面的观点进一步说明。

例1:A 39=SUMPRODUCT(I20:I24,J20:J24)AA1

说明:最基础的返回两个引用数组乘积的和BB2

例1-1:CC3 48=SUMPRODUCT(I20:I24,K20:K24,L20:L24)DD4

说明:参数中非数值型的数组元素都作为0处理了,包括TURE EE5

例1-2:

#VALUE!=SUMPRODUCT(I20:I24,J20:J23)

说明:参数维数不一致所以返回错误值#VALUE!。

例1-3:

#N/A=SUMPRODUCT(I20:I24,M20:M24)

说明:参数中含有错误值#N/A,所以返回#N/A。

例2:

39=SUMPRODUCT(data1,data2)data1=OFFSET(sumproduct!$I$20,,,5)

说明:返回两个内存数组的乘积的和data2=OFFSET(data1,,1,)

例3:

11=SUMPRODUCT((I20:I23 I22:I24),(J20:J23 J22:J24))

说明:支持区域交叉,注意中间的空格以及参数两边的括号不可以省略。

例4:

#VALUE!=SUMPRODUCT((I20:I21,I23:I24),(J20:J21,J23:J24))

说明:不支持联合区域,可以通过增加参数,或者分开相加的方式实现。

例5:

0=SUMPRODUCT(INDIRECT("r"&ROW(20:24)&"c9",),INDIRECT("r"&ROW(20:24)&"c10",))

0=SUMPRODUCT(OFFSET(H19,1,COLUMN(A:A),ROW(5:5)),OFFSET(H19,1,COLUMN(B:B),ROW(5:5)) 0=SUMPRODUCT(INDIRECT(ROW(1:2)&"!B2"),INDIRECT(ROW(1:2)&"!c2"))

说明:不支持indirect产生的三维的引用,解决方法在后面说明。