分享

EXCEL数组计算【SUMPRODUCT】多条件相乘再相加

 L罗乐 2017-08-11


  【SUMPRODUCT】这个函数比较有意思,刚开始使用的时候可能会觉的不好理解,但熟悉后会发现这个函数非常实用,不仅能解决工作中的很多问题还能解课本上的习题。他的的主要功能是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和,如果通过本文有不明白的地方可以在文章最后的留言板中告诉小编。

含义

    但就字面上可以看出,组成sumproduct的两个单词sum是和,product是积,sumproduct所以是乘积之和的意思:


    SUMPRODUCT的函数语法为:SUMPRODUCT(array1,array2,array3, ...)其中Array为数组。

    如下图中我们要对一组数组求和时可用公式:=sumproduct(A2:A8),当数组的内容比较简单时可以直接将数组写入公式中:==SUMPRODUCT({1;2;3;4;5;6;7}):


    当需要对表中两个数组相乘时,写入公式“=SUMPRODUCT(A2:A8,B2:B8)”我们发现值与验证公式“=A2*B2 A3*B3 A4*B4 A5*B5 A6*B6 A7*B7 A8*B8”的值一致:


     当需要对表中三个数组相乘时,写入公式“=SUMPRODUCT(A2:A8,B2:B8,C2:C8)”


实际应用

    

多条件求和


    如一般的仓储人员的发货台长会记录出货仓库和收获地点两个维度的数据,如下图我们要求从仓库1发出到重庆的商品总数,公式为:=SUMPRODUCT((A2:A14='仓库1')*(B2:B14='重庆')*(C2:C14))


    

多条件计数


    还是仓库发货的例子,我们知道仓储人员在发货时,每一笔记录对应一个订单,如我们要查从仓库1发出到重庆的订单数量,公式为:=SUMPRODUCT((A2:A14='仓库1')*(B2:B14='重庆'))


    逻辑解释:在以上两个案例中A2:A14='仓库1',本质上是做了条件判断,在A2:A14间每一个单元格与“仓库1”这个值做判断,满足条件返回判断值“TRUE”,不满足条件返回判断值“FALSE”,在以上的案例中(A2:A14='仓库1')实质的值为({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE}),(B2:B14='重庆')的值为({TRUE;0;0;0;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}),而在程序语言中一般TRUE用“1”表示,FALSE用“0”表示,故公式本身的运算逻辑为SUMPRODUCT({1;0;0;0;0;0;0;0;0;1;0;1},{1;0;0;0;0;0;1;0;0;1;0;0})=2

排名


    在部门业绩排名、班级成绩排名计算时,我们可以用SUMPRODUCT来做公式计算,如下表需要按照订单数量计算部门中每个小组的销售排名,公式为=SUMPRODUCT((B20<$B$20:$B$28)*1) 1)


    逻辑解释:数组公式B20<$B$20:$B$28同样是做为条件判断,满足条件的返回值为“TRUE”,不满的值“FALSE”,要做排名计算我们需要计算出大于B20单元格的个数,则需要把逻辑值转变为数字值故需要乘以“1”,B20<$B$20:$B$28)*1,此时=SUMPRODUCT((B20<$B$20:$B$28)*1)的值相当于求出大于B20单元个的个数及8个,也就是说排在部门1前面的部门有8个这个时候再加“1”得出的值就是部门1在所有部门中的排名。

    SUMPRODUCT函数在数学课程中可以用于数组计算,在工作中可以实现计划考核的制作大家不妨尝试。如遇到问题在右下方的留言告诉小编,小编会尽可能的帮助解决问题。


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多