当我们需要对工作表中不同的区域进行某一操作时,可以使用Application对象的Union方法先将这些区域合成一个区域,然后对这个合成的区域统一操作。 如下图所示,工作表中有三个单元格区域:A1:......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
工作表有一类最基本的函数是基于某条件统计或汇总结果,例如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”销售价格之和:
返回的结果为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。
标签: Excel函数 excel函数公式 excel表格制作 Excel教程 函数 rank函数怎么用 rank函数的使用方法 rank函数的用法 rank排名函数
相关文章
当我们需要对工作表中不同的区域进行某一操作时,可以使用Application对象的Union方法先将这些区域合成一个区域,然后对这个合成的区域统一操作。 如下图所示,工作表中有三个单元格区域:A1:......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
使用公式来解决问题:给定一个十进制的正整数,将其转换成指定进制的数。如下所示,在单元格A2中是给定的十进制正整数值,单元格B2中是指定的进制,示例中是4进制,单元格C2中是转换后的结果,单元格D2中使......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
VBA是一种“寄生”在主应用程序(例如Excel)中的语言,正是因为这样的特殊性,所以我们先介绍了与主应用程序相关的对象模型和很多对象,以及如何引用这些对象及其属性和方法。 我的思路(当然也是笔者在......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
工作表有一类最基本的函数是基于某条件统计或汇总结果,例如COUNTIF函数或SUMIF函数,都是相当有用和灵活的函数,但仅局限于单条件。而本文将着重探讨基于多条件获得结果的函数——SUMPRODUCT......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
本文分享一个基于公式生成n×n随机整数的解决方案,并且每个整数都是唯一的。例如,下显示了生成10行10列的不重复随机整数。 解决方案 在单元格A1中输入数组公式: =SMALL(IF(FRE......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程