SUMPRODUCT函数的使用

参考资源:http://www.exceluser.com
Excel的SUMPRODUCT函数提供Excel数组公式的大多数功能,并且在使用上不复杂。
SUMPRODUCT函数可以方便地计算工作表内多列中对应值相乘后的和,其语法为:
SUMPRODUCT(array1,array2,array3, …)
其中,Array1, array2, array3, … 为 2 到 30 个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!。 该函数将非数值型的数组元素作为 0 处理。
下面通过示例介绍SUMPRODUCT函数的基本使用方法。如下图1所示的工作表:
sumproductpic1 图1
其中所定义的名称为:

名称 引用范围
公司 =Sheet1!$D$3:$D$17
全部数据 =Sheet1!$A$2:$E$17
日期 =Sheet1!$A$3:$A$17
姓名 =Sheet1!$B$3:$B$17
性别 =Sheet1!$C$3:$C$17
用工数 =Sheet1!$E$3:$E$17

(1)要计算工作表中姓名是张三且公司为A的用工数统计,则可以使用下面的公式:
=SUMPRODUCT(0+(姓名=”张三”),0+(公司=”A”),用工数)
返回结果24。
(2)要获取姓名张三出现的次数,则可以使用下面的公式:
=SUMPRODUCT((姓名=”张三”)*1)
或=SUMPRODUCT(0+(姓名=”张三”))
结果为5。
(3)要获取姓名为张三且公司为A的总数,则可以使用下面的公式:
=SUMPRODUCT((姓名=”张三”)*(公司=”A”)*1)
或=SUMPRODUCT((姓名=”张三”)*(公司=”A”))
结果为4。
sumproductpic2
图2
(4)探讨
在计算工作表中姓名是张三且公司为A的用工数统计时,使用的是公式=SUMPRODUCT(0+(姓名=”张三”),0+(公司=”A”),用工数)。按照常规做法,可以使用公式:
=SUMPRODUCT(姓名=”张三”,公司=”A”,用工数)
但其结果为0,即并不是所想要的正确结果24。

  • Excel在公式中能将以文本表示的数字转换为数字,例如公式:
    =”3”*5
    虽然”3”是文本,但该公式能返回结果15。
  • Excel也能将数字转换为文本,例如:
    =”No” & 1
    返回的结果为No1。
  • Excel将逻辑值转换为数值,例如:
    =0+TRUE返回的结果为1;
    =1*TRUE返回的结果为1。

因此,在公式中添加0强制将逻辑值进行转换?!


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

2条评论

  1. 谢雨柔:

    不好!对于不是很了解函数的使用方法的人来说,写的还是不够详细。

  2. SUMPRODUCT的用法:明白易懂的一个例子:

    看一个例子就容易明白SUMPRODUCT的用法:

    A B C D (列号)
    1 数组1 数组1 数组2 数组2 (第1行)
    2 1 2 10 20 (第2行)
    3 3 4 30 40 (第3行)
    4 5 6 50 60 (第4行)

    公式: =SUMPRODUCT(A2:B4, C2:D4)
    说明:两个数组的所有元素对应相乘,然后把乘积相加,即 1*10 + 2*20 + 3*30 + 4*40 + 5*50 + 6*60
    (结果为910)

     

发表评论