首页 > Excel专区 > Excel教程 >

SUMPRODUCT函数注意事项

Excel教程 2021-12-29 21:28:38

前段时间, 过用SUMPRODUCT函数分部门统计数据、处理分类排名、统计月份缺勤人数等用法,可以看到这个函数在处理“分类统计”问题上几乎所向披靡,无所不能。

但,昨天,朋友在用SUMPRODUCT函数分部门、分产品统计销量的时候,却出现的问题。

总结如下:

问题分析

函数解释:

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

其基本语法为:

SUMPRODUCT(array1,[array2], [array3], …)

SUMPRODUCT 函数语法具有下列参数:

Array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。

Array2, array3,…:可选。 2 到 255 个数组参数,其相应元素需要进行相乘并求和。

特别注意:

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

本题中的解释

本题中有三个数组,返回值分别是:

($A$2:$A$15=F2);

{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}

($B$2:$B$15=G2);

{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE}

$C$2:$C$15:

{5;4;2;3;1;无;3;5;2;2;5;5;2;5}

本题中,三个公式中,每个数据之间的计算符号不一样,要么“*”,要么“,”,符号不同,结果也不相同。

第一个公式:

H2单元格内的公式:

=SUMPRODUCT(($A$2:$A$15=F2),($B$2:$B$15=G2),$C$2:$C$15)

结果返回值是0,原因分析:

三个数组之间都是逗号”,”,返回零值的主要原因在于前两个数组,这两个数组返回的都是逻辑值,中间如果用”,”,互相独立的两个逻辑数据之间不能进行对应位置处逻辑值相乘。

而如果改成=SUMPRODUCT(($A$2:$A$15=F2)*1,($B$2:$B$15=G2)*1,$C$2:$C$15),通过*1,先把逻辑值变成数值,中间再用”,”,对应位置处数据就可以相乘了。

第二个公式:

I2单元格内的公式:

=SUMPRODUCT(($A$2:$A$15=F2)*($B$2:$B$15=G2)*$C$2:$C$15)

结果返回值是#VALUE,原因分析:

错误的原因是第三个数组内有文本,文本不能直接参与求和。

第三个公式:

J2单元格内的公式:

=SUMPRODUCT(($A$2:$A$15=F2)*($B$2:$B$15=G2),$C$2:$C$15)

结果返回值是正确结果,原因分析:

前两上数组之间对应位置的逻辑值相乘,转变成数组

{1;0;0;0;0;0;0;0;0;0;0;1;0;0}。

第三个数组$C$2:$C$15前加“,”,公式用逗号分隔,相乘区域中有文本,则当0处理。

总之

SUMPRODUCT多条件求和,写成如下格式:

=SUMPRODUCT((条件一)*(条件二)*……*(条件N),求和范围)


标签: excel公式技巧excel函数公式Excel常用函数excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.