新手提问:使用sumproduct函数,为什么加上“”,才能计算;不加“”的时候,计算值为0

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
关于SUMPRODUCT函数用法的问题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口you have been blocked一帖读通函数中的神器:SUMPRODUCT
SUMPRODUCT是函数里几大神器之一,兼具条件求和及计数两大功能,适用性极强,堪称上得厅堂下得厨房打得过小三斗得过流氓,是当之无愧的函数劳模。
众所周知,条件求和及计数,是表哥表妹们经常碰到的问题,于是SUMPRODUCT便不可不学了。
SUMPRODUCT的官方“简历”是这个样子:
SUMPRODUCT(array1,array2,array3, ...)
即在给定的几组数组(array)中,将数组间对应的元素相乘,并返回乘积之和。——SUM是求和的意思,PRODUCT是相乘的意思,相乘之后再求和,你看,SUMPRODUCT真是人如其名了。
SUMPRODUCT函数有以下特点:
其一:本身支持数组间运算。
其二:它会将非数值型的数组元素作为0处理。
其三:数组参数必须有相同的尺寸,否则返回错误值。
看完了SUMPRODUCT的“简历”,很多朋友想必是雾里看花,仅仅对它有个模糊的认知,它的这些特点是啥意思?它到底能够胜任什么样子的工作?其实并不了然——至少我当初是不了然的。
下面,我们通过几个示例,对它来做进一步的了解。
下面这个表,C列是商品单价,D列是销售数量,现在需要在C9单元格计算销售总额。
C9输入公式:
=SUMPRODUCT(C3:C7,&D3:D7)
回车后,得出结果&#.60
这便是一个简单的SUMPRODUCT函数,它的运算过程是:C3:C7和D3:D7两个区域数组内的元素对应相乘。
展示开来:C3*D3,C4*D4,C5*D5……直至C7*D7。
等于先将每个商品的销售金额计算出来,最后汇总求和。
由于SUMPRODUCT函数第一个特点,本身是支持数组间运算的,所以虽然该公式需执行多项运算,但并不需要按数组三键Ctrl
Shift Enter结束。
有的朋友说啦,我公式也可以写成这样:
=SUMPRODUCT(C3:C7*D3:D7) &
或者写成这样:
=SUM(C3:C7*D3:D7),按&Ctrl
Shift Enter&组合键结束公式输入,也没有问题哇。
那么这三个公式之间有什么区别呢?
首先,SUMPRODUCT不需要数组三键结束公式输入,而此处的SUM函数是需要的。
其次,就要说到SUMPRODUCT函数另一个非常重要的特点了。
我们将上面的表稍做改动,将“钢笔”的销售数量更改为:暂未统计。同样需要在C9单元格计算销售总额。
这时候,如果使用公式:
=SUMPRODUCT(C3:C7*D3:D7)
C9单元格会返回错误值#VALUE!。
{=SUM(C3:C7*D3:D7)},也同样返回错误值。
原因在于,D4单元格的值“暂未统计”为文本,文本是无法参与数学运算的,于是C4*D4返回错误值#VALUE!,进而造成整个公式的结果返回错误值。
而使用公式:
=SUMPRODUCT(C3:C7,D3:D7),将得出正常结果&#.60。
这便是SUMPRODUCT函数的第二个特点:将非数值型的数组元素作为0处理。
以该示例来说,D4单元格的值“暂未统计”为文本,并非数值,SUMPRODUCT将其主动视为零,于是C4*D4,结果亦为零,其余数组元素照常计算,得出&#.60的结果。
需要特别说明的是,SUMPRODUCT将非数值型的数组元素作为0处理,所谓的非数值型数组元素,包含逻辑值、文本,但并不包含错误值,如果数组元素中包含错误值,该公式亦返回错误值,比如该示例的第一条公式。
说完了SUMPRODUCT函数的两个特点,我们就再来聊聊它的第三个特点:数组参数必须有相同的尺寸,否则返回错误值。
我们依然用上述图片的例题为例,继续计算商品的销售总额。如果我们在C9输入公式:
=SUMPRODUCT(C3:C7,D3:D6)
结果会是怎么样的呢?
错误值:#VALUE!
为什么这样?
细心的您,肯定注意到了,两个区域数组,C3:C7明显显比D3:D6多了一个元素,C3和D3结对子,C4和D4结对子……那么C7和谁结对子呢?女人们都嫁了,结果剩下一个光棍,这日子没法过了!一个萝卜一个坑,只有萝卜没有坑,这不是要萝卜死吗?
——于是SUMPRODUCT就不高兴了,它给你一个错误值#VALUE!,明确告诉你,日子不能这么过。
这就是SUMPRODUCT函数的第三个特点:数组参数必须有相同的尺寸,否则返回错误值。
下面是一道练习题,你看看,能用SUMPRODUCT函数做出来吗?
假设上面这张图,是某个公司工资发放的部分记录表(数据纯属虚拟,如有雷同,那是穿越咯)。A列是工资发放的时间,B列是员工所属的部门,C列是员工姓名,D列是相关员工领取的工资金额。——那么,问题来了:
一,员工西门庆领取了几次工资?
这是一个单条件计数的问题,通常我们使用COUNTIF函数,但如果使用SUMPRODUCT函数,一般写成这样:
=SUMPRODUCT((C2:C13="西门庆")*1)
先判断C2:C13的值是否等于”西门庆”,相等则返回TRUE,不等则返回FALSE,由此建立一个有逻辑值构成的内存数组。
第一部分咱们说过,SUMPRODUCT有一个特性,它会将非数值型的数组元素作为0处理,逻辑值自然是属于非数值型的数组元素,为了避免SUMPRODUCT函数把逻辑值视为0,造成统计错误,我们使用*1的方式,把逻辑值转化为数值,TRUE转化为1,FALSE转化为0,最后统计求和。
二,员工西门庆累计领取了多少工资?
这是一个单条件求和的问题,通常我们使用SUMIF函数,如果使用SUMPRODUCT函数,我们可以写成这样:
=SUMPRODUCT((C2:C13="西门庆")*D2:D13)。
依然首先判断C2:C13的值是否等于”西门庆”,得到逻辑值FALSE或TRUE,再和D2:D13的值对应相乘,最后统计求和得出结果。
看完了上面两个问题,有些表亲心里就嘀咕了,貌似SUMPRODUCT能干的事,SUMIF和COUNTIF也能做到,而且做的更好,那么还要SUMPRODUCT干啥?
乡亲们呐,话不能这么说,SUMPRODUCT可是上得厅堂下得厨房,对工作环境不挑不拣,它对参数类型没有啥特别要求,COUNTIF和SUMIF就不同咧,他俩要求个别参数,必须是区域(Range型),不支持数组,比如下面这两个问题,COUNTIF和SUMIF就要绕了。
三,六月份财务部发放了几次工资?累计又发放了多少?
六月份财务部发放了几次工资,这是一个多条件计数的问题,第一个条件,发放工资的时间必须是六月份;第二个条件,发放工资的部门必须是财务部。
如果使用多条件计数函数COUNTIFS,判断发放工资的时间是否属于六月份,会简单问题复杂化。而使用SUMPRODUCT函数,咱们可以简单利索的写成这样:
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"))
统计六月份财务部发放了多少工资?表亲们都晓得,这是一个常见的多条件求和问题。如果使用SUMIFS函数,判断发放工资的时间是否属于六月份,和COUNTIFS类似,也会简单问题复杂化。SUMPRODUCT跃然而至:
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"),D2:D13)
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部")*D2:D13)
打个响指,关于这两个形式的SUMPRODUCT函数的区别,咱们第一部分也有详细说明,亲,你还记得吗?——啥?不记得?嘿!赶紧回头看一下吧。
上面这个公式可以说是SUMPRODUCT多条件求和的典型用法啦,可以归纳为:
=SUMPRODUCT((条件一)*(条件二)……,求和区域)
四,六月份财务部和市场部合计发放了多少工资?
通过上面第三个问题,表亲们已经晓得如何计算六月份财务部发了多少工资,那么六月份财务部和市场部合计发了多少工资,又当怎么计算呢?
我们经常见有些性格朴素的表亲们把公式写成这样:
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部")*D2:D13)
SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="市场部")*D2:D13)
这些表亲们估计心想,不就是计算两个部门吗?甭说两个,二十个咱也能算,一个加一个,一直加到二十个,世上无难事,只怕有心人嘛,一砖加一砖,长城咱也能垒成喽,一泡加一泡,黄河咱也能……
公式写的那么长,先不谈计算速度,首先它累手啊,其次万一写错了,又要修改,那也是麻烦他妈哭麻烦——麻烦死了。其实我们可以写成这样:
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13={"财务部","市场部"})*D2:D13)
五,认识了SUMPRODUCT函数在条件计数和求和方面的用法,最后,咱们再来看一个它在排名上的使用方法。
如上图,某个月某个公司某些人领了某些工资,然后呢,他们想看看自己的工资,在部门内的排名情况,比如说财务部的鲁智深、市场部的卢俊义,都是老员工了,非常想知道自个工资在各自部门排几号。
当然啦,不排不知道,一排就傻掉。
SUMPRODUCT是这么解决这个问题的,D2输入公式向下复制:
=SUMPRODUCT(($A$2:$A$9=A2)*(C2&$C$2:$C$9))
(思考,为什么公式的最后 1,而不是直接写成=SUMPRODUCT(($A$2:$A$9=A2)*(C2&=$C$2:$C$9))?
唠唠叨叨说了这么多,眼睛都说酸麻了,是到了该结束的时候啦。
说一下第一部分练习题的答案:
最后,请思考以下两个问题:
第一个问题:
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部")*D2:D13),这个公式里,SUMPRODUCT函数有几个参数?
=SUMPRODUCT((MONTH(A2:A13)=6)*(B2:B13="财务部"),D2:D13),这个公式里,SUMPRODUCT函数又有几个参数?
第二个问题:
SUMPRODUCT为什么比SUMIF/COUNTIF计算速度慢?
我是星光,等你看见,我是看见星光》》》》》》》
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。昔日的贫困村,如今已成为“世外桃源”。
迄今世界最长跨海大桥――港珠澳大桥主体将全线贯通。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
院长大大丨图文
教程基于Excel 2016
  你用Excel那么久,做了不少报表,应该做过条件求和吧?也经常使用条件统计?
  那你一定很懂SUM、COUNT函数了,即使加上IF,加上IFS,都应该个个精通。
  但你是否知道,有1个函数,可以代替上述的6个?对,就是SUMPRODUCT函数,你一定见过,但未必会用。
  今天,院长带你一齐看看SUMPRODUCT函数应该怎么用,条件求和、计数、加权汇总,样样精通。
  SUMPRODUCT:返回相应的数组或区域乘积的和,SUM代表求和,PRODUCT代表乘积,先相乘,后求和。
  语法:
  SUMPRODUCT(array1,array2,array3, ...)
  Array1,array2,array3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。
一般用法:快速求和
  计算销售总金额,通过每个销售单中的单价乘以数量得到金额,然后相加求和。
  一般写法【=SUMPRODUCT(E2:E6,F2:F6)】,条件之间用逗号隔开。
  常用写法【=SUMPRODUCT(E2:E6*F2:F6)】,条件之间用乘号隔开。
  由于计算的元素都为数值,所以两种写法都可以计算出正确的结果。
数组参数必须具有相同的维数
  举个栗子,计算键盘销售金额,单价选择【E2:E6】,数量选择【F2:F3】,两列维数不同,返回错误值。
  正确写法:把单价列区域调整为【E2:E3】即可。
非数值型的数组元素作为0处理
  其中,第三个销售单数量待定,使用【=SUMPRODUCT(E2:E6,F2:F6)】,会把文本当0处理,不影响其他元素的计算。
  使用【=SUMPRODUCT(E2:E6*F2:F6)】,数组元素含有文本,相乘导致第三个值为#VALUE!,从而导致整个函数返回错误值!
  除了快速求和以外,SUMPRODUCT还有更强大的用法,它能计数、能求权、还能条件求和、隔列求和。
  统计1号店键盘销售单数,使用SUMPRODUCT函数,选择门店和产品名称两个条件,条件分别满足【1店】和【键盘】,公式【=SUMPRODUCT((B2:B16=B2)*(D2:D16=D2))】,计算出单数为2。
  函数解释:
  B2:B16=B2,计算区域中等于B2的值,形成1和0的数组,D2:D16=D2同理;
  两个数组相乘,得到新的1和0数组,相加计算结果为2。
联动条件计数
  统计产品成本大于销售单价的单数,需计算成本列大于单价列,公式【=SUMPRODUCT((E2:E16&F2:F16)*1)】,计算出单数为4。
  根据评比项权重与所得分值,计算出总分,公式【=SUMPRODUCT($B$2:$E$2,B3:E3)】,其中,权重引用范围不变,使用绝对引用,向下复制公式,得到员工加权后的总分。
  计算4号店销售金额大于4000元的合计金额,满足条件【4号店】和【金额大于4000元】的销售单,计算金额合计,公式【=SUMPRODUCT((B2:B16=B3)*(G2:G16&4000)*G2:G16)】。
  计算公司本年度各月借贷总额,需要分别计算三个部门的借方、贷方合计。公式【=SUMPRODUCT(($B$2:$G$2=$H$2)*(B3:G3))】,其中,借贷方引用范围不变,使用绝对引用,向下复制公式,得到每月借方合计金额。同理,可计算贷方合计金额。
  SUMPRODUCT是个好东西,希望你也有一个!
  教程源文件链接:/s/1qYg21n2
  如果你有教学文章或者Excel疑难问题,欢迎你的投稿~
  投稿邮箱:
  标题注明:教学文章/疑难问题
  Skill成长课堂
  高效有趣学技能
  点击“阅读原文”,2017年训练营招募中~
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:

我要回帖

 

随机推荐