关于SUMPRODUCT函数用法的问题

更新时间:2023-05-09 21:02:42 阅读: 评论:0

关于SUMPRODUCT函数用法的问题
SUMPRODUCT函数可以方便地计算工作表内多列中对应值相乘后的和,其语法为:
SUMPRODUCT(array1,array2,array3, )
其中,Array1, array2, array3, 2 30 个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE! 该函数将非数值型的数组元素作为 0 处理。

看一个例子就容易明白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)

上述解释应该是对SUMPRODUCT用法的比较准确的解释.但本人有不理解之处,看下面的公式:
=SUMPRODUCT(($B2:$B26=F1)*($C2:$C26>=20)*($C2:$C26<30))      见附件
这个公式中的第一部分($B2:$B26=F1)是数组吗?这个公式中的数组元素是怎么对应相乘而后求和的??
希望高手帮我解释一下.
我找到了一个比较详细的解释.
=SUMPRODUCT((G1:G3="")*(E1:E3<=60))
这个公式的意思是统计,G1G3是男的,同时E1E3数值小于等于60的人数。
首先这是一个数组公式,要按Ctrl+Shift+Enter结束。
然后看他的计算过程:
假如G1=男,G2G3都为女,然后E165E260E380
这时候公式变为
=SUMPRODUCT((TRUEFALSEFALSE)*(TRUEFALSEFALSE))
这不知道能理解不,因为G1=男,所以第一个值为TRUE。第二个不为男,值就为FALSE
接下来,TRUEFALSE分别代表10。所以公式变为:
=SUMPRODUCT((100)*(100))
然后接下来就是SUMPRODUCT的计算过程了
=1*1+0*0+0*0=1
所以最后的结果等于1
UID
172834 
帖子
107 
精华
0 
经验
211 
威望
阅读权限
20 
性别
 
在线时间
14 小时 
查看详细资料
TOP
=SUMPRODUCT(($B2:$B26=F1)*($C2:$C26>=20)*($C2:$C26<30))     
简单的说,sumproduct带有数组功能,不需要三键结束。
这个公式可以理解为
($B2:$B26=F1)($C2:$C26>=20)($C2:$C26<30)
三个条件均为真的时候统计为1,那么B2:B26C2:C26同时满足这三个条件的有多少个,即返回多少个1,。。。
sumif,countif用法,SUMPRODUCT 函数条件统计_我的编程空间
excel学习中 2009-11-01 13:39:02 阅读358 评论0 字号:大中
sumif,countif用法,SUMPRODUCT 函数条件统计
2008-11-03 16:00
SUMIF
根据指定条件对若干单元格求和。

语法

SUMIF(range,criteria,sum_range)

Range 为用于条件判断的单元格区域。

Criteria 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32"32"">32" "apples"

Sum_range 是需要求和的实际单元格。

说明

只有在区域中相应的单元格符合条件的情况下,sum_range 中的单元格才求和。

如果忽略了 sum_range,则对区域中的单元格求和。

Microsoft Excel 还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算单元格区域内某个文本字符串或数字出现的次数,则可使用 COUNTIF 函数。如果要让公式根据某一条件返回两个数值中的某一值(例如,根据指定销售额返回销售红利),则可使用 IF 函数。

示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在帮助主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

Ctrl+C
在工作表中,选中单元格 A1,再按 Ctrl+V
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式

  A              B
属性值      佣金
100,000    7,000
200,000    14,000
300,000    21,000
400,000  28,000
公式 说明(结果)
=SUMIF(A2:A5,">160000",B2:B5) 属性值超过 160,000 的佣金的和 (63,000)
即是a2:a5中大于160000 统计b2:b5 中符合条件的合计数
//////////////////////////////////////////////////
countif 函数是计算区域中满足给定条件的单元格的个数。


A B
1 数据 数据
2 苹果 32
3 柑桔 54
4 75
5 苹果 86

公式 说明 (结果)
=COUNTIF(A2:A5,"apples") 计算第一列中苹果所在单元格的个数 (2)
=COUNTIF(B2:B5,">55") 计算第二列中值大于 55 的单元格个数 (2)
////////////////////////////////
基本用法是求两列及两列以上数据的乘积之和。
如:=SUMPRODUCT(A1:A20,B1:B20)
表示A1*B1+A2*B2+A3*B3+……A20*B20
其他的用法如你说的例子是统计,还可以进行条件求和。
如:=SUMPRODUCT((A1:A20="")*(B1:B20=25)*C1:C20))
表示A列为女并且B列是25C列的数据之和。
Excel SumProduct函数的妙用!
By  平心桨 发表于 2008-11-20 11:12:00 

ExcelSUMPRODUCT函数提供Excel数组公式的大多数功能,并且在使用上不复杂。
SUMPRODUCT函数可以方便地计算工作表内多列中对应值相乘后的和,其语法为:
SUMPRODUCT(array1,array2,array3, )
其中,Array1, array2, array3, 2 30 个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE! 该函数将非数值型的数组元素作为 0 处理。

另一种用法:
Sumproduct((A1:A100=数值1)*(B1:B100>数值2),C1:C100)

用于统计第一行到第100行中,A列等于数值1B列大于数值2时,C列的数值和
这个功能很爽……

另,Sumproduct((A1:A100=数值1)*(B1:B100>数值2)*(C1:C100<数值3))表示统计第1行到第100行中,A列等于数值1B列大于数值2C列小于数值3的记录的数量。

cool的一个函数!
Excel里面sumproduct函数的完整用法?--是什么意思?
以下几个写法有什么区别,搞不清楚--*得区别:
1=sumproduct((A1:A100="")*(B1:B100="本科"))
2=sumproduct((A1:A100="")(B1:B100="本科"))
3=sumproduct(--(A1:A100=""),--(B1:B100="本科"))
4=sumproduct(--(A1:A100="")*--(B1:B100="本科"))
;计算男性本科学历的人数
到底哪个是正确的公式,--到底是什么含义,网上似乎没人说这个符号。

另外,是不是=sumproduct(条件1*条件2)用来求符合条件的个数,
=sumproduct(条件1*条件2,区域3)用来求区域3里面同时符合条件12的数值的和???????
回复Excel里面sumproduct函数的完整用法?--是什么意思?
--excel里叫做减负运算,其目的是将字符串格式的数字转变成真正意义上的数字,重而参
加预算。你可以将它理解为两个减号,结果是负负得正,没有改变原数据的正负,但将其变成了数字。
你可以先将某个空单元格例如a1设为文本,里面输入12345,在b1里输入=sum(a1)b2里输入=sum(--a1)比较一下就能看出分别了
支持楼主发的学习资源,点击下面我要评分按钮为他评分吧!同时你也可以点击我顶按钮支持此主题。_
[函数公式] SUMPRODUCT函数的另一妙用(多条件汇总)
SUMPRODUCT, 函数, 妙用, 条件, 汇总
ExcelSUMPRODUCT函数基本功能是可以方便地计算工作表内多列中对应值相乘后的和,其语法为:SUMPRODUCT(array1,array2,array3, …)
其中,Array1, array2, array3, … 2 30 个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE! 该函数将非数值型的数组元素作为 0 处理。

下面通过示例介绍SUMPRODUCT函数的另一个妙用条件求和,如下图1所示的工作表:要统计姓名=“张三,并公司=“A”,用工数的总计。




其中所定义的名称为:
名称 引用范围
公司 =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((Sheet1!$B$3:$B$17=”张三”),(Sheet1!$D$3:$D$17=”A”),Sheet1!$E$3:$E$17)
返回结果24

(2)要获取姓名为张三且公司为A的总数,则可以使用下面的公式:
=SUMPRODUCT((Sheet1!$B$3:$B$17=”张三”)*(Sheet1!$D$3:$D$17=”A”)*1)
=SUMPRODUCT((Sheet1!$B$3:$B$17=”张三”)*(Sheet1!$D$3:$D$17=”A”))
结果为4

注意:公式中每一个条件查询的范围必须一样,如果是二个以上的条件:例=SUMPRODUCT((Sheet1!$B$3:$B$17=”张三”),(Sheet1!$D$3:$D$17=”A”),(其他条件....,Sheet1!$E$3:$E$17)
应约上帖:关于用SUMPRODUCT取代SUM数组公式的想法
大家用过数组公式的都可能知道,对于多条件求和或计数,我们一般都采用这种数组公式来计算。如:
对于1个明细数据(见例),我们需要求该班男、女生各科成绩大于各科平均分的人数,这个问题不难,大家一般都会用sum()来多条件求值就行了(注:数组公式)
=SUM(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428)))
确实这是解决问题的一种方法,但往往对于初用数组公式的朋友常常会遗忘(或不知道)(Ctrl+shift+Enter)组合键来结束编辑(论坛中常常有类似的提问)

出于这个原因,我想到能否用SUMPRODUCT()函数来代替常用SUM()多条件求和公式呢?结果答案是肯定的。
把上面的公式稍做修改,请见:
=SUMProduct(($C$3:$C$428=$K3)*1,(D$3:D$428>=AVERAGE(D$3:D$428))*1)
而且直接用Enter来结束,函数仍然可以正确计算结果。
原因在于:SUMPRODUCT()函数本身就支持数组间运算(相同维数的数组相乘后再加总),因此我们毋须用数组公式组合键来结束。
另:提醒大家一点,如果大家试图将公式改为:
=SUMProduct(($C$3:$C$428=$K3),(D$3:D$428>=AVERAGE(D$3:D$428)))
公式不能得出正确结果。

如果多个条件这样并列写入,系统默认是用AND关系(即相乘)来运算,但是SUMPRODUCT不支持逻辑值数组常量间相乘(也算是小遗憾吧:)),因此请一定要将逻辑值转换成数值才行。
大家可能觉得麻烦,因此我建议使用缩写公式,实际上是将多个数组参数变为一个数组,也就可以避免不同维数数组间相乘而带来的错误麻烦了。
=SUMProduct(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428)))
同理:我们如果需要求出所有男生中总分大于平均总分的所有总分,我们也可以用公式:
=SUMPRODUCT(($C$3:$C$428=$K13)*(I$3:I$428>=AVERAGE(I$3:I$428)),I$3:I$428)
如果数组的维数相同,建议使用这种方法,如果直接相乘出现错误,可能是I列出现非数值字符,用逗号分隔后,系统可以自动忽略文本的。

对于条件求和的应用,大家可以结合下面的实例来理解(但对于使用该函数,运算速度是否有提高,还待各位朋友验证),希望对大家有帮助,谢谢!

最后再提醒大家一点如果数组的维数相同,建议用逗号分隔,系统会自动忽略文本的,而且并不是所有用SUM()+数组公式(如公式内部加入IF来判断的)都可以用SUMPRODUCT()函数来代替的,该帖只是告诉大家另一种思路或另一种想法
不过,有几个提法不是很认同,SUM(IF()*())的方式,也可以用Sumproduct(if()*())的方式来替代。

你提到的数组维数相同,这个说法有误,应该是数组尺寸相同,数组的维数是指一维,二维,三维数组等,Excel函数只能处理1维和2维数组,Vba可以处理三维。而尺寸是指数组的大小,即行列数。

举例,=SUMPRODUCT(A1:B4,C1:D6),两个参数都是二维的,但不同行数就不行了

本文发布于:2023-05-09 21:02:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/567194.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数组   公式   条件   函数   相乘   计算   求和
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图