前段时间用SUMPRODUCT函数划分部门统计、处理分类排名、统计每月旷工后,可以看到这个函数在处理分类统计上几乎是无敌的,无所不能的。
但是,昨天我朋友用SUMPRODUCT函数按部门、产品统计销售额的时候,出现了一个问题。
总结如下:
问题分析
功能说明:
SUM函数是Excel中的一个数学函数,用于给定数组组之间的对应元素相乘,并返回SUMPRODUCT的和。
它的基本语法是:
SUMPRODUCT(array1,[array2],[array3],…)
SUM函数语法有以下参数:
Array1:必选。第一个数组参数,其对应的元素需要相乘和求和。
Array2,array3,…:可选。从2到255个数组参数,对应的元素需要相乘和求和。
请特别注意:
参数必须具有相同的维度。否则,函数SUMPRODUCT将返回#VALUE!错误值#REF!
本主题中的说明。
本主题中有三个数组,返回值为:
(2:澳元15澳元=F2);
{真;真;真;真;假;假;假;假;假;假;假;真;假;FALSE}
(B $ 2: B $ 15=G2);
{真;假;假;假;假;假;假;假;假;假;假;真;假;真}
2:加元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。原因分析:
三个数组之间有逗号“,”。返回值为零的主要原因是前两个数组返回逻辑值。如果在中间使用“,”,则相应位置的逻辑值不能在两个独立的逻辑数据之间相乘。
如果将其更改为=sum product(($ 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((条件1) *(条件2) *.*(条件n,总和范围)。