重要~值得一看:sumproduct函数的深入理解

    “ 基本语法:sumproduct(array1,array2,array3...),其中,array1是必需的,其对应的元素要进行相乘,array2开始到第255个是可选的参数,最终将各个数组求和;维数必须一致;非数值按0处理,另外FALSE也按0处理,TRUE对应的就是1了
Excel办公小技巧 发起了一个读者讨论 公众号注册的较晚,没赶上留言功能,不过还好有了读者讨论功能了讨论区在此~
01 函数的简单应用

首先按以下数据示例(灰色单元格数据为方便大家了解函数用法使用,本例中不参与函数计算),按语法进行最直接的应用。单价*数量*人数为各个城市各个商品的销售额,每行的合计计算我们有很多种方法,也包括本文中的sumproduct函数,这里说下该函数用法:

=SUMPRODUCT(C1:C9,D1:D9,E1:E9)

结果如下图:

02 条件求和

sumproduct用来条件求和,与sumif还是很类似的,有两点要注意,条件判别需要用括号括起来,各个部分需要用符号“*”连接。比如想看北京地区商品的购买数量:

=SUMPRODUCT((A2:A9=A2)*D2:D9)

多字段条件判别:看北京sku1商品的购买数量:

=SUMPRODUCT((A2:A9=A2)*(B2:B9=B2)*D2:D9)

同字段多条件:看北京和深圳两个城市商品的购买数量,使用符号“+”可实现:

=SUMPRODUCT(((A2:A9=A2)+(A2:A9=A8))*D2:D9)

结果如下:

03 计数

使用sumproduct函数来实现计数功能,比如每个城市每个商品应该存成一行记录,那我们看北京的sku1存了几行,只需这样:

=SUMPRODUCT((A2:A9=A2)*(B2:B9=B2))

结果如下:

不过使用Excel经验丰富的同学,不会这么用,毕竟效率很低,不如透视表来的简单容易。

因此,我们返回非重复计数时,经常会用到sumproduct函数,比如想得到有多少个商品在售卖?目前有多少种定价?

=SUMPRODUCT(1/COUNTIF(B2:B9,B2:B9))

公式很简单,通过countif判别当前列对应元素在当前单元格出现的次数,

=COUNTIF(B2:B9,B2:B9)

我们来理解下这次函数应用的含义:按下CTRL+SHIFT+ENTER执行数组公式,得到每个元素出现的次数,比如我们看到的4是sku1出现了4次,按F9我们可以看到完整的数组结果。

通过1去除,得到分数结果,即把每个元素按出现次数拆成了N等份,最后通过sumproduct函数对这些分数进行了求和。

(0)

相关推荐