打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
函数篇:被遗忘的SUMPRODUCT
Excel办公,让职场更轻松!

随着SUMIFS、COUNTIFS等一些函数的出现,函数SUMPRODUCT渐渐被遗忘,由于前者的运行速度比他快而被慢慢淡出了excel接触者的视线。然并卵,我想说函数SUMPRODUCT的强大功能足以让函数SUMIFS、COUNTIFS等失业,而数组公式函数SUMPRODUCT能取代函数SUM并且不需要按<Ctrl Shift Enter>三键结束。



一、函数语法解析


1、函数定义:

在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。


2、语法格式:

SUMPRODUCT(array1,[array2],[array3],...)

SUMPRODUCT(数组区域1,数组区域2,数组区域3,……)


3、参数说明:

array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。

array2,array3,...:可选。2到255个数组参数,其相应元素需要进行相乘并求和。


二、扩展语法


1、多条件计数语法:

SUMPRODUCT((条件1区域='条件1')*(条件2区域='条件2')*(……))


2、多条件求和语法:

、SUMPRODUCT((条件1区域='条件1')*(条件2区域='条件2')*(……)*求和区域)

②、SUMPRODUCT((条件1区域='条件1')*(条件2区域='条件2')*(……),求和区域)


3、求和语法中求和区域前使用“,”与“*”的区别:

多条件求和时,当求和区域中没有文本时“,”与“*”可以通用;

当求和区域中有文本时使用“*”会返回错误值#VALUE!,故而只能使用“,”。


三、函数示例


1、基础应用


01

文本数字求和



输入公式:=SUMPRODUCT(--(B3:B9))


解析:该公式中两个负号,一个负号是把文本型数字转换成负数值,另一个负号是把负数值转换成需要的正数。


当然转换的方法有很多种,可以用“ 0”、“-0”、“*1”、“/1”、“^1”等等,关键看你自己怎么用。


有人觉得用函数SUMPRODUCT字符太长了,用函数SUM明显字符少很多,该题中用函数SUM代替函数SUMPRODUCT,那就必须按Ctrl Shift Enter三键结束。


02

忽略文本求和



输入公式:=SUMPRODUCT(A15:A22)


03

有文本的数组相乘



输入公式:

=SUMPRODUCT(C29:C34,D29:D34)


解析:函数SUMPRODUCT将非数值型的数组元素作为0处理。


如果该题中用单一的函数SUM来解决,按三键结束是小事,会出现错误值#VALUE!。


函数SUM的参数为不能转换成数字的文本,将会显示错误。


函数SUM的解决方法:=SUM(IFERROR(C29:C34*D29:D34,'')),按三键结束。


04

单条件计数



输入公式:=SUMPRODUCT(--(B41:D47>=80))


解析:(B41:D47>=80)部分判断条件是否成立,成立返回TRUE,不成立返回FALSE,

发生运算时TRUE相当于1,FALSE相当于0,

然后用函数SUMPRODUCT或函数SUM求和,

注意使用函数SUM时一定要按三键结束。


同样的可以用“ 0”、“-0”、“*1”、“/1”、“^1”等等来转换。


05

单条件求和


输入公式:

=SUMPRODUCT((B54:D60>=80)*B54:D60)


解析:(B54:D60>=80)部分判断条件是否成立,成立返回TRUE,不成立返回FALSE,

再*B54:D60得到的就是满足条件的,

最后用函数SUMPRODUCT或函数SUM求和,

注意使用函数SUM时一定要按三键结束。


得到逻辑值TRUE和FALSE后直接*B54:D60就已发生运算,如果像上题一样用“ 0”、“-0”、“*1”、“/1”、“^1”等等来转换虽不影响结果,但明显是多此一举。


2、进阶应用


01

单条件数组相乘



输入公式:=SUMPRODUCT((A3:A8='烧烤')*C3:C8*D3:D8)


或者:=SUMPRODUCT((A3:A8='烧烤')*C3:C8,D3:D8)


02

多条件计数



输入公式:=SUMPRODUCT((B15:B21='女')*(C15:C21>=60))


03

多条件求和



输入公式:=SUMPRODUCT((B28:B34='女')*(C28:C34>=60)*C28:C34)


或者:=SUMPRODUCT((B28:B34='女')*(C28:C34>=60),C28:C34)


04

有条件的区间计数


输入公式:=SUMPRODUCT((B41:B47='女')*(C41:C47>=60)*(C41:C47<=80))


05

有条件的区间求和



输入公式:=SUMPRODUCT((B54:B60='女')*(C54:C60>=60)*(C54:C60<=80)*C54:C60)


或者:=SUMPRODUCT((B54:B60='女')*(C54:C60>=60)*(C54:C60<=80),C54:C60)


上述示例可以参照前面说的扩展语法格式来,也可以用函数SUMIFS、COUNTIFS来完成,关于这两个函数的用法不再赘述,也可以用函数SUM代替函数SUMPRODUCT,需要注意的是要按三键结束。


3、组合应用


01

隔列求和



输入公式:

=SUMPRODUCT((MOD(COLUMN(B:I),2)=0)*B3:I3)


02

零钞的计算


注:第一行中的“元”是通过设置单元格格式自定义加上去的,若是直接输入的“元”就要先提取数字或把“元”替换掉。


在C15单元格输入公式:

=INT(($B15-SUMPRODUCT($A$14:B$14,$A15:B15) 1%%)/C$14),向右向下填充。


思路:当前面额张数=(工资-(已计算面额*已计算面额张数))/当前面额


解析:SUMPRODUCT($A$14:B$14,$A15:B15)部分算出了左侧单元格中已经计算张数的金额,用B列的工资减去这个金额,然后除以当前的面额,再用INT函数取整就可以得到对应面额的钞票数量。

 

留个问题:为什么要加1%%呢?加1%、1%%%等可不可以呢?不加又可不可以呢?


03

多条件求不重复的个数



输入公式:

=SUMPRODUCT(1/COUNTIFS(A30:A38,A30:A38,B30:B38,B30:B38))

 

04

中式排名



输入公式:

=SUMPRODUCT((C$45:C$50>C45)*(1/(COUNTIF(C$45:C$50,C$45:C$50)))) 1


05

包含求和


①、求姓名中包含6,性别为男的销售额之和



输入公式:

=SUMPRODUCT(ISNUMBER(FIND('6',A57:A62))*(B57:B62='男')*C57:C62)


或者:=SUMPRODUCT(ISNUMBER(FIND('6',A57:A62))*(B57:B62='男'),C57:C62)


解析:函数SUMPRODUCT不能使用通配符,故而与函数FIND组合实现包含求和功能。


函数SUMIFS通配符解法:=SUMIFS(C57:C62,A57:A62,'*6*',B57:B62,'男')


②、求姓名中有波形符~的销售额之和



输入公式:

=SUMPRODUCT(ISNUMBER(FIND('~',A57:A62))*C57:C62)


解析:函数SUMPRODUCT不能使用通配符,故而与函数FIND组合实现包含求和功能。


函数SUMIF通配符解法:

=SUMIF(A57:A62,'*~~*',C57:C62)

 

四、注意事项


①、数组参数必须具有相同的维数。否则,函数SUMPRODUCT将返回#VALUE!错误值。


②、函数SUMPRODUCT将非数值型的数组元素作为0处理。


③、函数SUMPRODUCT不能使用通配符,但可以与函数FIND组合实现包含功能。


④、函数SUMPRODUCT是不用按<Ctrl Shift Enter>三键结束的数组运算函数。


作者:仰望星空

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
几组含SUM函数:SUM,SUMIF, SUMPRODUCT, SUMSQ的讲解
Excel教程:这个都不会,别说你会求和
比Sum更实用的多功能求和函数,3个操作提升你的工作效率
Excel函数公式:Excel常用函数公式——基础篇(九)
求和方法大汇总,一文搞定所有求和!
excel多条件专辑
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服