分享

SUMPRODUCT函数 (一)

 L罗乐 2018-04-26

SUMPRODUCT 函 数  (一)


大家好,本节将介绍数学函数中的利器SUMPRODUCT函数,它的基础功能是求数组乘积之和,但它可以实现 ”条件计数、条件求和,多权重统计、排名“等实用功能,下面将分两节介绍它。


dvdf

SUMPRODUCT函数基础知识

官方定义:SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

函数表达式=SUMPRODUCT(array1,array2,array3, ...)

1、Array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。Array2, array3,...:可选。 2 到 255 个数组参数,其相应元素需要进行相乘并求和。

2、数组参数必须具有相同的维数,否则,函数 SUMPRODUCT 将返回错误值 #VALUE!

3、函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理


下面通过实例介绍基础应用,已知一组水果的单价和数量,求水果的总额?

公式为=SUMPRODUCT(B2:B6*C2:C6),实际公式为=SUMPRODUCT({6;9;13;7;8},{10;5;6;3;2})是数组{6;9;13;7;8}和{10;5;6;3;2}相乘之后积的和。其中数组用大括号{}括起来。

对于数组知识,详见数组基础(一)数组基础(二)篇。


单条件和多条件计数

在学习过基础知识之后,下面就介绍SUMPRODUCT函数的条件计数用法,之前我们介绍过COUNTIF条件计数,下面介绍SUMPRODUC函数进行单条件计数和多条件计数。公式有两种表达方法:

第一种为=SUMPRODUCT(--(条件1),--(条件2),......,--(条件n))

公式中两个负号 --的作用是将条件判断的true和false转变为数值1和0进行计算,也可以末尾用 0或者*1来代替,只是双负号运行略快。可以单条件和多条件计数。


第二种为=SUMPRODUCT((条件1)*(条件2)*......*(条件3))

公式中的*号代表”并“的意思,而不是代表”乘“。用*号连接表示多个条件需同时满足,如果是单条件也需要像前一种一样*1,比较推荐记第一种表达式。

下面我们通过实例从单条件开始讲解介绍单条件计数的原理,如“求产地是烟台的水果的数量?”

公式为=SUMPRODUCT(--(A2:A6='烟台'))或者=SUMPRODUCT((A2:A6='烟台') 0)或者=SUMPRODUCT((A2:A6='烟台')*1)

套路公式的原理就是条件判断如A2:A6='烟台'进行条件判断后形成一个由true和false组成的数组,即{true;false;true;false;false}。通过双负号--或者 0或者*1的方式将其转化为数值数组即{1;0;1;0;0}。再使用SUMPRODUCT函数运算求和,以达到计数的功能。





那么对于多条件计数呢?比如烟台出单的单价为6的水果有几种?

公式为=SUMPRODUCT(--(A2:A6='烟台'),--(C2:C6=6))。公式实际运算是两个条件判断得到的数值数组{1;0;1;0;0}和{1;0;0;0;0}的乘积之和,即=SUMPRODUCT({1;0;1;0;0},{1;0;0;0;0})的运算,最后结果为1。

实例中使用的公式也可以写成=SUMPRODUCT((A2:A6='烟台')*(C2:C6=6))。得到的结果相同。

单条件和多条件求和

在学习过它的条件计数后,条件求和就相对简单,只在套路公式中加入求和的区域即可。不过两种表达式最后略有不同。

第一种为=SUMPRODUCT(--(条件1),--(条件2),......,--(条件n),(求和区域))。

第二种为=SUMPRODUCT((条件1)*(条件2)*......*(条件3),求和区域)

注意最后的求和区域是不需要括号的,并且与前面是用英文逗号,间隔。为了便于使用,比较推荐第一种方法。

下面我们通过实例直接介绍多条件求和的原理,如“求产地是烟台的苹果的数量?”

套用公式为=SUMPRODUCT(--(A2:A6='烟台'),--(B2:B6='苹果'),(D2:D6))。从而求得产地为烟台的苹果数量之和。 

第二种表达式可以自行试验下。为了方便记忆选择一种一种即可。




本节SUMPRODUCT函数第一部分介绍完毕,后续会在介绍它的其他应用,涉及的数组知识可以详见数组(一)数组(二)两篇内容,祝大家学习愉快。




Live and Learn

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多