- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SUMPRODUCT多前提乞降
Excel多条件求和
日常工作中,我们经常要用到多条件求和,方法有多种,第一类:使用基本功能来实现。主要有:筛选、分类汇总、数据透视表、多条件求和向导;第二类:使用公式来实现方法。主要有:使用SUM函数编写的数组公式、联用SUMIF和辅助列(将多条件变为单条件)、使用SUMPRODUCT函数、使用SUMIFS函数(限于Excel2007及以上的版本),方法千差万别、效果各有千秋。本人更喜欢用SUMPRODUCT函数。由于Excel帮助对SUMPRODUCT函数的解释太简短了,与SUMPRODUCT函数的作用相比实在不匹配,为了更好地掌握该函数,特将其整理如下。
一、???????? 基本用法
在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
语法:
SUMPRODUCT(array1,array2,array3, ...)
Array1, array2, array3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。
公式:=SUMPRODUCT(A2:B4, C2:D4)
?
A
B
C
D
1
Array?1
Array?1
Array?2
Array?2
2
3
4
2
7
3
8
6
6
7
4
1
9
5
3
公式解释:两个数组的所有元素对应相乘,然后把乘积相加,即 3*2 + 4*7 + 8*6 + 6*7 + 1*5 + 9*3。计算结果为156
二、???????? 扩展用法
1、?? 使用SUMPRODUCT进行多条件计数
语法:
=SUMPRODUCT((条件1)*(条件2)*(条件3)* …(条件n))
作用:
统计同时满足条件1、条件2到条件n的记录的个数。
实例:
=SUMPRODUCT((A2:A10=男)*(B2:B10=中级职称))
公式解释:
统计性别为男性且职称为中级职称的职工的人数
2、?? 使用SUMPRODUCT进行多条件求和
语法:
=SUMPRODUCT((条件1)*(条件2)* (条件3) *…(条件n)*某区域)
作用:
汇总同时满足条件1、条件2到条件n的记录指定区域的汇总金额。
实例:
=SUMPRODUCT((A2:A10=男)*(B2:B10=中级职称)*C2:C10)
公式解释:
统计性别为男性且职称为中级职称的职工的工资总和(假设C列为工资)
三、???????? 注意事项
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),
您可能关注的文档
最近下载
- 地铁物业管理培训课件.pptx
- 工程数学(本)形成性考核作业4.doc
- GB T 34520.7-2017 连续碳化硅纤维测试方法 第7部分:高温强度保留率 标准.pdf
- 自编教材审核表(模板).pdf
- 一例慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭患者的个案护理PPT.pptx
- [大庆]黑龙江大庆市民政局所属事业单位选调事业编制工作人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx VIP
- ISO9001 14001 ISO45001检查表审核方法全套.docx VIP
- 增光膜规格说明书.pdf
- 人教版数学四年级第一单元教材解读及集体备课课件.pptx VIP
- 2024 离婚协议书 离婚协议(打印版).docx
文档评论(0)