SUMPRODUCT函数多条件计数或者求和
一、多条件计数的语法:
1、SUMPRODUCT(--(条件1),--(条件2),„„,--(条件n))
2、SUMPRODUCT((条件1)* (条件2)*„„* (条件n))
二、多条件求和的语法:
1、SUMPRODUCT(--(条件1),--(条件2),„„,--(条件n),(求和区域))
2、SUMPRODUCT((条件1)* (条件2)*„„*(条件n),求和区域)
【其中两个减号(--)的作用是把条件的逻辑值转变为数值以便计算,也可用+0和*1代替,但(--)比+0,*1都略快些。但注意其中的各部分区域范围必须相同,且不能是同一列。】
此公式中的“*”不表示“乘”,此处的意思应为:“并”。我们也可以在不同的工作表之间来运用该公式进行统计。也可以有更多的条件,只需继续用“*”号来连接就可以了。
公式1与公式2比较,公式2(用*分割)略慢于公式1(用逗号分割)的公式,而且其求和区域内不能有文本值。
注意事项
1、数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。
2、SUMPRODUCT函数将非数值型的数组元素作为 0 处理。
3、在SUMPRODUCT中,2003及以下版本不支持整列(行)引用,必须指明范围,不可在SUMPRODUCT函数使用A:A、B:B,Excel2007
及以上版本可以整列(列)引用,但并不建议如此使用,公式计算速度慢。
4、SUMPRODUCT函数不支持“*”和“,”通配符
SUMPRODUCT函数不能象SUMIF、COUNTIF等函数一样使用“*”和“,”等通配符,要实现此功能可以用变通的方法,如使用LEFT、RIGHT、ISNUMBER(FIND())或ISNUMBER(SEARCH())等函数来实现通配符的功能。如:
=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称")*(LEFT(D2:D10,1)="龙")*C2:C10)
=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称")*((ISNUMBER(FIND("龙逸凡",D2:D10)))*C2:C10))
注:以上公式假设D列为职工姓名。ISNUMBER(FIND())、ISNUMBER(SEARCH())作用是实现“*”的通配功能,只是前者区分大小写,后者不区分大小写。
5、SUMPRODUCT函数多条件求和时使用“,”和“*”的区别:当拟求和的区域中无文本时两者无区别,当有文本时,使用“*”时会出错,返回错误值 #VALUE!,而使用“,”时SUMPRODUCT函数会将非数值型的数组元素作为 0 处理,故不会报错。 也就是说:
公式1:=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称")*C2:C10)
公式2:=SUMPRODUCT((A2:A10="男")*(B2:B10="中级职称"),C2:C10)
当C2:C10中全为数值时,两者计算结果一样,当C2:C10中有文
本时公式1会返回错误值 #VALUE!,而公式2会返回忽略文本以后的
结果。
网友们的精彩实例
1、求指定区域的奇数列的数值之和
=SUMPRODUCT(MOD(COLUMN(A1:F1),2)*A1:F1) 2、求指定区域的偶数行的数值之和
=SUMPRODUCT(((MOD(ROW(A1:A22),2))-1)*A1:A22)*(-1) isnumber函数的使用方法及实例
3、求指定行中列号能被4整除的列的数值之和
=SUMPRODUCT((MOD(COLUMN(A1:P1),4)=0)*A1:P1) 4、求某数值列前三名分数之和
,SUMPRODUCT(LARGE(B1:B16,ROW(1:3))) 5、统计指定区域不重复记录的个数
,SUMPRODUCT(1/COUNTIF(V11:V15,V11:V15))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论