SUMPRODUCT函数详解 2024-06-18 00:50:31 小伙伴们好啊,今天咱们一起来学习一下SUMPRODUCT函数的用法,这个函数从字面来理解,SUM是求和,PRODUCT是乘积。综合到一起,就是对各个数组参数计算乘积,并返回乘积之和。啥是数组?咱们就简单的把它理解成一组数好了,没啥高科技含量。接下来,咱们就一起看看这个函数有哪些典型的用法。1、计算商品总价如下图所示,C列是商品单价,D列是商品数量,要计算所有商品的总价,可以使用下面这个公式:=SUMPRODUCT(C2:C12,D2:D12)公式把每一行中的单价与数量对应相乘,然后再求和。计算过程相当于C2*D2+C3*D3+C4*D4……本例中,也可以将中间的逗号换成乘号:=SUMPRODUCT(C2:C12*D2:D12)那这个乘号和逗号啥区别呢?当求和区域中有文本的时候,在两个数组之间使用逗号,会把文本当成0来处理。要是使用乘号的话,如果求和区域中有文本,就返回错误值了,既然是文本,你让小S怎么乘嘛。但是使用逗号也是有前提条件的,就是两个数组的行、列数必须一样,否则会返回一个错误值。2、计算指定条件的总价如下图所示,要计算部门为“大食堂”的所有商品总价,可以使用以下公式:=SUMPRODUCT((A2:A12='大食堂')*C2:C12*D2:D12)这个公式中,先使用(A2:A12='大食堂'),判断A列的部门是不是等于指定的部门,得到一组由TRUE和FALSE构成的逻辑值。但是逻辑值不能直接作为数组参数,但是可以参加四则运算,所以咱们用乘号,分别乘以C列的单价和D列的数量。如果(A2:A12='大食堂')这部分的结果里是逻辑值TRUE,就相当于1,而逻辑值FALSE的作用就相当于是0。换句话说,符合指定部门的,就用1*单价*数量,不符合指定部门的就用0*单价*数量,最后再将各个乘积进行求和。3、计算指定月份的总金额如下图,要根据A列的日期,计算2月份的总金额。公式为:=SUMPRODUCT((MONTH(A2:A12)=2)*1,D2:D12,E2:E12)MONTH(A2:A12)=2部分,先使用MONTH函数计算出A列日期的月份,然后用等式,判断是不是等于2,这部分得到的,也是一组由TRUE和FALSE构成的逻辑值。接下来把逻辑值乘以1,TRUE*1结果为1,FALSE*1结果为0,最终变成由数值1和0构成的新数组。再用这个新数组作为参数1,分别与第二参数D2:D12和第三参数E2:E12相乘,最后计算出乘积之和。也可以直接把各个参数之间的逗号写成乘号;=SUMPRODUCT((MONTH(A2:A12)=2)*D2:D12*E2:E12)4、计算指定月份、指定部门的总金额如下图,要计算2月份大食堂的总金额。公式为:=SUMPRODUCT((MONTH(A2:A12)=2)*(B2:B12='大食堂'),D2:D12,E2:E12)公式看起来很长,但是和第三个例子是一样的,就是多了一个部门的判断条件(B2:B12='大食堂')。5、根据两个条件计算采购量如下图,要根据B1:E1单元格中的日期和A2:A12单元格中的品名,来计算对应的采购量。公式为:=SUMPRODUCT((B1:E1=1*'2021-2-2')*(A2:A12='黄瓜')*B2:E12)这个数据表格和前面几个表格的结构不一样了,两个条件分别在行方向和列方向,对于这种结构的表格,计算时有一个小套路,就是分别对比水平和垂直方向的两个条件,然后乘以数值区域。这个数值区域的行数,要与垂直方向条件区域的行数一样,并且列数要与水平方向条件区域的列数一样。上面这句话可能不太好理解,其实结合到数据中,就可以看出来了:数值区域是B2:E12,这里的行数是2~12行,和(A2:A12='黄瓜')的行数是一样的。而列数是B:E,和(B1:E1=1*'2021-2-2')的列数是一样的。另外,在公式中直接写日期的时候,还要注意,先加上一对半角引号,然后再乘以1变成日期序列值,否则Excel会把2021-2-2当成减法了。6、同一区域设置多个条件如下图所示,要计算2月份白菜和土豆的总采购量。公式为:=SUMPRODUCT((MONTH(B1:E1)=2)*((A2:A12='白菜')+(A2:A12='土豆'))*B2:E12)(MONTH(B1:E1)=2) 这部分是计算水平方向的月份的。((A2:A12='白菜')+(A2:A12='土豆'))这部分,用来判断垂直方向的商品名称是不是符合条件。 注意,两个条件之间使用了加号,计算过程咱们就不细说了,作用是表示二个条件符合其一。7、带通配符的求和如下图所示,要根据A列的手机型号,统计带有“摩托罗拉”字样的手机销量。公式为:=SUMPRODUCT(ISNUMBER(FIND('摩托罗拉',A2:A12))*B2:B12*C2:C12)SUMPRODUCT函数的参数中不支持使用通配符,所以在计算带有关键字的问题,就比较吃亏了。ISNUMBER(FIND('摩托罗拉',A2:A12))这部分,先使用FIND函数在A2:A12数据区域中查找关键字,如果包含关键字,就返回表示关键字位置的数值,否则就返回错误值。然后使用ISNUMBER函数判断FIND函数的数组结果是不是数值,如果是数值,说明是包含关键字的,如果不是数值,那就是不包含关键字了。ISNUMBER最终得到由逻辑值TRUE或FALSE构成的内存数组,然后再与后面的第二参数B2:B12和第三参数C2:C12依次相乘。最后由SUMPRODUCT返回乘积之和。 赞 (0) 相关推荐 Excel中加号+和乘号*的用法,你不一定知道! 昨天我们学了excel中的几种数据类型,包括数字,文本,逻辑值和错误值.也知道逻辑值true可以转为1,false可以转为0.在最后还留了个思考题,不知道你有没有去做.肯定要用到数组,但是and和or ... 一个标点符号决定sumproduct的结果?(易错点总结) 小伙伴们好啊,国庆假期一眨眼就要过完了,你们都玩的快乐吗?我最大的感受就是舒服的日子总是过的很快,如果上班的时候能过的这么快就好了. 今天来说一下sumproduct函数的易错点,就是一个标点符号的用 ... Excel一对多查找 万金油函数详解 Excel一对多查找 万金油函数详解 Excel人民币大写金额互转的2个组合函数详解 Excel人民币大写金额互转的2个组合函数详解 (7条消息) linux send与recv函数详解 转载地址: http://blog.csdn.net/sjin_1314/article/details/9565743 [csharp] view plain copy print ? 1 ... 益盟操盘手公式函数详解 以下是益盟操盘手公式函数详解(无源码的请下载附件导入) 益盟公式函数详解(分类) (一)算数函数(24) 1.ABS绝对值(算术函数) 求绝对值. 用法: ABS(X)返回X的绝对值 例如:ABS(- ... C 语言回调函数详解 | 菜鸟教程 C 语言回调函数详解 | 菜鸟教程 WM_CLOSE、WM_DESTROY、WM_QUIT及各种消息投递函数详解 本文对WM_CLOSE.WM_DESTROY.WM_QUIT及各种消息投递函数的功能及区别做出了分析比对,有助于读者更好的对消息投递函数加以理解.详情如下: 一.WM_CLOSE.WM_DESTROY ... Excel周末加班天数计算函数详解 Excel周末加班天数计算函数详解 EXCEL-SUNIF函数详解 月初了要总结各种报表,要把所有相同的类目归为一类,方法有很多,麻烦一点的可以手动归档不过来麻烦了,所以我们今天认识一下SUMIF函数,使用 SUMIF 函数可以对报表范围中符合指定条件的值求和 我们来 ... sumif与sumifs条件求和函数详解,小白到大神的必经之路 在日常工作中我们经常需要根据某些条件进行求和,今天就给大家介绍下,Excel中的条件求和函数sumif和sumifs Sumif函数 第一个参数:Range:条件区域,用于条件判断的单元格区域.第二个 ...