分享

SUMPRODUCT函数一个顶俩

 新华书店好书榜 2016-09-22

在多条件求和和多条件计数中,我们运用最多的应该是SUMIFS和COUNTIFS这两个函数了,但除了以上两个函数,SUMPRODUCT函数也是解决多条件求和、多条件计数的利器。


SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。其语法如下:


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


一、多条件求和


如图1,要求1班男生的成绩总和,用SUMIFS函数,输入公式如下:


=SUMIFS(D2:D8,A2:A8,'1班',C2:C8,'男')


由于此公式很容易懂,不再做函数解析。


注意:SUMIF和SUMIFS的求和区域位置不一样,SUMIF的求和区域放在最后,而SUMIFS的求和区域放在最前。


(图1)


用SUMPRODUCT函数,可以输入如下公式,如图2


=SUMPRODUCT((A2:A8=A2)*(C2:C8=C2)*D2:D8)



(图2)


【函数解析】


  1. A2:A8=A2和C2:C8=C2与A2:A8=”1班”和C2:C8=”男”是等价的。

  2. A2:A8=A2形成{TRUE; TRUE; TRUE;FALSE; FALSE; FALSE; FALSE}的数组1;C2:C8=C2形成{TRUE; FALSE; TRUE; FALSE; TRUE; FALSE; FALSE}的数组2;D2:D8形成{60;70;80;90;85;75;88}的数组3。

  3. 数组1与数组2相乘形成{1;0;1;0;0;0;0}的数组4(TRUE和FALSE在运算中相当于1和0)。

  4. 数组4和数组3形成{60;0;80;0;0;0;0}的数组。

  5. =SUMPRODUCT({60;0;80;0;0;0;0}),等同于60+0+80+0+0+0+0,即140。


注意:用SUMPRODUCT函数的时候,每个参数包含的数据个数必须相同,且行列数必须相等,否则函数会返回错误值。


二、多条件计数


如果用COUNTIFS函数求2班80分以上的女生数量。可以输入以下公式,如图3所示。


=COUNTIFS(A2:A8,'2班',C2:C8,'女',D2:D8,'>80')

此公式也比较容易懂,不再加以解析。


(图3)


如果用SUMPRODUCT函数,则需要输入以下公式,如图4:


=SUMPRODUCT((A2:A8=A5)*(C2:C8=C5)*(D2:D8>80))


(图4)


【函数解析】


  1. A2:A8=A5形成{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE}的数组1;C2:C8=C5形成{FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE}的数组2; D2:D8>80形成{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE}的数组3。三个数组相乘形成{0;0;0;1;0;1;0}的数组,即SUMPRODUCT({0;0;0;1;0;1;0}),得到2。

  2. 与多条件求和相比,多条件计数最后一个数组是TRUE和FALSE组成的,而多条件求和是有数字组成的。


注意:为了方便排版,数组中的分号是中文状态下输入的,但是在实际操作中,必须在英文状态,半角下输入。


●本文编号434,以后想阅读这篇文章直接输入434即可

●输入m可以获取到全部文章目录

●输入c可以获取到全部动画下载地址

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多