SUMPRODUCT函数详解(1)
发布时间:2022-03-04 12:04:17
工作表有一类最基本的函数是基于某条件统计或汇总结果,例如COUNTIF函数或SUMIF函数,都是相当有用和灵活的函数,但仅局限于单条件。而本文将着重探讨基于多条件获得结果的函数——SUMPRODUCT函数。
SUMPRODUCT函数是Excel中最“多才多艺”的函数之一。其基本功能是,数组中相应的项目相乘并返回结果之和。下面将介绍SUMPRODUCT函数经典的用法。
SUMPRODUCT函数的标准用法
SUMPRODUCT函数的基本用法是:一个数组中的每个值与另一个数组中相应的值相乘,返回乘积的和。
示例1:如果单元格区域A9:A11中分别包含值1、2、3,单元格区域B9:B11中分别包含值10、20、30,那么
=SUMPRODUCT(A9:A11,B9:B11)
返回结果140,或者(1*10)+(2*20)+(3*30)=10+40+90=140。
SUMPRODUCT函数的“进化”用法
在Excel中,有两个非常有用的支持条件统计和求和的函数,分别是COUNTIF函数和SUMIF函数,但仅支持单个条件测试。
举个简单的双条件测试例子。例如,公式=COUNTIF(A1:A10,>=10)-COUNTIF(A1:A10,>20)将得到在单元格区域A1:A10中介于10和20之间有多少项。然而,这种摸拟双条件测试的方法是有局限的,它不能处理不同的单元格区域或者更多的条件。
为了理解SUMPRODUCT函数的使用,先举个例子。示例数据如下:
下面的公式很容易得出“Ford”的数量:
=COUNTIF(A1:A10,”Ford”)
返回的结果为4。
同样,下面的公式直接获得“Ford”销售价格之和:
=SUMIF(A1:A10,”Ford”,C1:C10)
返回的结果为33873。
然而,假设想要统计6月份“Ford”的销售数量,使用下面的数组公式:
=SUM(IF(A1:A10=”Ford”,IF(B1:B10=”June”,1,0),0))
输入后同时按下Ctrl+Shift+Enter键,返回结果3。
同样,要统计6月份“Ford”销售价格之和,使用下面的数组公式:
=SUM(IF(A1:A10=”Ford”,IF(B1:B10=”June”,C1:C10,0),0))
返回结果27000。
下面我们看看使用SUMPRODUCT函数来获取结果的情形。下面的公式:
=SUMPRODUCT((A1:A10=”Ford”)*(B1:B10=”June”))
得到6月份“Ford”的销售数量,结果为3。
下面的公式:
=SUMPRODUCT((A2:A10=”Ford”)*(B2:B10=”June”)*(C2:C10))
得到6月份“Ford”销售价格之和。
“*”号用作AND(与)运算符,公式的其含义是单元格区域A2:A10中的值为“Ford”并且B2:B10中的值为“June”所对应的C2:C10中的值相加。
然而,如果我们想在公式中使用OR(或)运算符呢?使用“+”号来代表OR运算符。例如,下面的公式:
=SUMPRODUCT((A1:A10=”Ford”)+(A1:A10=”Renault”))
计算单元格区域A1:A10中为“Ford”或“Renault”的数量,结果为6。
SUMPRODUCT函数的优点
正如上文所描述的,多条件测试是SUMPRODUCT函数的主要优点。然而,SUMPRODUCT函数还有其它两个优点:一个是它能够处理关闭的工作簿中的数据,不受源工作簿是否关闭的影响;另一个是能够处理文本值以满足需求。
例如,如果想在另一个工作簿中计算“Sumproduct函数.xlsm”工作簿中的数据,那么使用下面的公式计算该工作簿中大于15000的值的和。
=SUMIF([Sumproduct函数.xlsm]Sheet1!$C$2:$C$10,”>15000″)
此时,如果“Sumproduct函数.xlsm”工作簿关闭,再重新计算工作表是时该公式会返回#VALUE。同样,如果“Sumproduct函数.xlsm”工作簿已经关闭后,再在其它工作簿中使用上面的公式,会返回#VALUE。
然而,使用SUMPRODUCT函数就不会存在上面的问题。无论“Sumproduct函数.xlsm”工作簿是否关闭,将下面的公式输入到其它工作簿中,都会得到正确的结果。
=SUMPRODUCT(–(‘[Sumproduct函数.xlsm]Sheet1’!$C$2:$C$10>15000),–(‘[Sumproduct函数.xlsm]Sheet1’!$C$2:$C$10))
第二个主要的优点是SUMPRODUCT函数能够处理具有不同数据类型文本的列。例子数据如下图所示,在B列的第一行中是文字文本值作为标题,其余行为数值。
如果使用下面的公式:
=SUMPRODUCT((A1:A4=”x”)*(B1:B4))
则会返回错误#VALUE。
要忽略错误,则要使用双一元操作符(两个减号):
=SUMPRODUCT(–(A1:A4=”x”),(B1:B4))
返回正确的结果,本例中是4。


猜你喜欢
- 如何在线一键重装win10?小伙伴们都知道在电脑遇到卡顿等系统故障性的问题可以用重装系统的方法进行解决,那小伙伴们知道如何进行重装吗?小编的
- 最近有Win11用户发现自己的电脑竟然连不上以太网了,尝试了网上很多的方法都没有效果,这可怎么办?Win11以太网怎么连接?下面小编就给大家
- 很多用户们在使用夜神模拟器的时候,如果使用一些应用或者游戏的时候,会提升认证,但是认证的界面却是空白的,那么这个为题到底要怎么解决呢,快来看
- 在日常学习和生活中,我们经常在手机上使用WPS。有时候,我们需要在文档里插入图片,那么,应该如何操作呢?今天要跟大家分享的就是如何在WPS
- 怎样自定义设置wps演示中的模板呢?对于初学者来说,可能不知道如何设置,下面就让小编告诉你如何自定义设置wps演示模板 的方法。自定义设置w
- 微软将会在4月11日正式推送Win10创意者更新15063正式版,当然如果你想要尝鲜的话现在可以用过微软提供的官方升级工具Win10易升进行
- 现在有许多游戏玩家都疯狂的迷恋一款游戏,就是守望先锋,其实守望先锋是一款非常火的第一视角射击型游戏。不过,对于一些刚升级为win10 系统的
- 北京时间7月29日早间消息,微软周四提交给监管部门的文件显示,2017财年计划在全球范围内裁员2850人,从而进一步退出智能手机业务。微软
- Mac内建了许多节省电力的功能,为要延长其寿命;从最初为了保护屏幕不受损坏的屏幕保护程序(现在只是装饰用途)到自动关闭屏幕的功能,都是非常直
- 今天来分享下Excel在人力资源中的常见应用。如何比较智能的提醒7天后要生日的员工。源数据大概是这样的:身份证都是我自己乱编的。效果是希望颜
- WPS如何给图片添加文字水印?WPS如何给图片添加文字?WPS如何给表格添加水印?WPS文档如何添加水印?大家都知道,WPS文字有个插入水印
- 众所周知,在处理Excel表格的过程中,如果数字后面有单位,就会无法运算(如:求和),所以必须去除数字后面的单位。但如果数值很多,一个一个的
- win10系统中未检测到nvidia图形卡怎么办?相信很多使用win10系统电脑的用户在打开nvidia控制面板时都出现过这种情况,那么wi
- Win10系统虽然已经推出很久了,但是微软一直在完善系统,会不断发布更新使系统功能更加舒适更加完善,那我们如果系统没有自动进行更新,要如何进
- excel根据数据,使用图表动态表示数学函数y=3x+4的曲线,我们得使用XY 散点图才能实现曲线效果!方法如下:首先,建立如下图的数据区域
- 如果要删除误差线,可以按照以下方法进行操作。方法一:使用快捷键打开已经添加了误差线的“收入统计表.xlsx”工作簿,切换至“Sheet3”工
- 在wps软件中用户可以找到自己需要的功能来解决自己遇到的文件编辑问题,再加上用户可以在wps软件中编辑不同类型的文件,让大部分的用户都很喜欢
- 虽然更新系统后能够给系统带来更多功能,能够修复更多漏洞,但是也要看个人的电脑能不能带的动系统。有些使用Win7的小伙伴的电脑配置没有特别高,
- 讯飞输入法支持哪些方言?讯飞语输入法讯飞语输入法支持方言吗?讯飞输入法是支持方言的,而且还支持多个地区的方言,方便民众实用,也避免了不会说普
- 如果在工作生活中,你突然读到一些优美的句子,这时候用笔记记录收藏就是不错的选择,日后再用到也方便,蚂蚁笔记就是当下非常热门的一款云笔记记录软