分享

一个标点符号决定sumproduct的结果?(易错点总结)

 刘卓学EXCEL 2021-04-02

小伙伴们好啊,国庆假期一眨眼就要过完了,你们都玩的快乐吗?我最大的感受就是舒服的日子总是过的很快,如果上班的时候能过的这么快就好了。今天来说一下sumproduct函数的易错点,就是一个标点符号的用法,用逗号还是用乘号?我相信有很多人傻傻分不清。

-01-

函数简单说明

因为之前有篇文章《sumproduct的用法和注意事项》已经说过它的用法,这里只是简单说明一下。sumproduct函数返回对应的区域或数组的乘积之和。函数语法结构如下:

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

注意事项:(很重要)

1.sumproduct的每个参数数组中如果有文本和逻辑值将被忽略,但不能忽略错误值。

2.多个参数数组的维数必须一样,否则出错。也就是数组大小要相同。

3.当只有一个参数数组或区域的时候是直接求和。相当于sum。

-02-

示例解释

1.求A1:A4与B1:B4对应乘积的和。

直接输入公式=SUMPRODUCT(A1:A4,B1:B4),就是A1:A4与B1:B4对应乘积的和。相当于=A1*B1+A2*B2+A3*B3+A4*B4这个公式。这下应该能明白了吧,就是对应乘积,然后再求和。

-03-

具体应用

1.常规用法(逗号和乘号)

求苹果的总数量,这是个单条件求和问题。公式有2种写法,一种是用逗号,一种是用乘号。

先看第一种用乘号,公式为=SUMPRODUCT((A3:A10="苹果")*B3:B10)。你可能会问如果写成=SUMPRODUCT(A3:A10="苹果",B3:B10)可以吗?你可以试一下。

A3:A10="苹果"这部分是判断A3:A10是否等于"苹果",会返回一个由逻辑值true和false组成的数组,而sumproduct会忽略数组中的逻辑值,你如果写成=SUMPRODUCT(A3:A10="苹果",B3:B10)这样,结果为0。所以要用乘号将逻辑值数组和B3:B10进行数学运算,得到一个数值数组,再用sumproduct求和。

第二种用逗号,公式为=SUMPRODUCT(N(A3:A10="苹果"),B3:B10)。由于sumproduct会忽略数组中的逻辑值,所以在A3:A10="苹果"前面用了个n函数,n函数是将逻辑值转化为数值。这样就把问题给解决了。当然将逻辑值转化为数值的方法有很多,比如前面加--,+0,-0,*1,/1等,我自己习惯用n函数。

2.区域中带表头(要用逗号)

还是求苹果的总数量,只不过这次选择的区域包含表头,此时公式最好用逗号,公式为=SUMPRODUCT(N(A2:A10="苹果"),B2:B10)。为什么不能用=SUMPRODUCT((A2:A10="苹果")*B2:B10)这个公式呢?因为会出错。首先A2:A10="苹果"这部分形成一个逻辑数组,然后和B2:B10相乘,而B2单元格是表头,其中的内容是文本。文本进行数学运算会产生错误值,sumproduct又不能忽略错误值。

公式改为=SUMPRODUCT(N(A2:A10="苹果"),B2:B10)之后就能解决这个问题,首先N(A2:A10="苹果")这部分用了个n函数,将逻辑值转为数值,中间用了逗号,就是用了2个参数。第2个参数B2:B10中尽管包含表头文本,但sumproduct会将文本忽略。这样就相当于表头那行没有参与运算,不会影响最后的结果。

3.数字区域中有文本(要用逗号)

同样还是求苹果的总数量,在数量区域中包含文本,也就是B7单元格,不知道它的数量,写了一个横线。公式为=SUMPRODUCT(N(A3:A10="苹果"),B3:B10)。其实和包含表头那个是一样的,就是为了忽略数字区域中的文本。

4.数组大小不同(会出错)

同样还是求苹果的总数量,输入公式=SUMPRODUCT(N(A3:A10="苹果"),B2:B10),结果为错误值。因为2个数组的大小不一样,第一个参数数组大小是A3:A10,第2个参数数组大小是B2:B10。

只要懂了sumproduct的那几条注意事项,用逗号还是用乘号就很轻松了,可以根据自己的需要来确定了。你可以自己练习一下。

练习文件链接:

https://pan.baidu.com/s/1I9jxMom55ALEpCN7HHnG1Q

提取码:ifuu

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多