分享

方法总比困难多:10种方法解多列条件求和问题!

 刘卓学EXCEL 2021-04-02

下图左表是数据源,记录的是各手机品牌在周一、周二、周三的销售数据。求各品牌在这三天的销售总和,结果如右表所示。

对于这个问题,小伙伴们会怎么解决呢?条件区域只有1列,求和的数据却有3列。嗯~嗯?让我想想,有了!可以分别计算周一、周二、周三的销售总和,最后再把它们加起来。

在H3单元格输入下面的公式,向下填充。

=SUMIF(B:B,G3,C:C)+SUMIF(B:B,G3,D:D)+SUMIF(B:B,G3,E:E)

相信很多小伙伴都会想到这种方法,假如求和的数据列有很多呢?要一列一列的计算吗?是否太麻烦了?下面就来说说其他的方法。

第1种,在H3单元格输入下面的公式,按ctrl+shift+enter。

=SUM(IF(B$3:B$19=G3,C$3:E$19))

这个公式用的是一维数组和二维数组的运算。if函数用来判断,如果B$3:B$19的区域等于G3的品牌,那么返回C$3:E$19对应的数据,否则返回false。结果如下图右表所示。最后用sum求和,得到三星这三天的销售总和。

第2种,在H3单元格输入下面的公式,不用三键。

=SUMPRODUCT((B$3:B$19=G3)*C$3:E$19)

这个公式和上个公式差不多,只不过用相乘的方式来表达。如果B$3:B$19的区域等于G3的品牌,相乘的结果为对应的销售数据,否则相乘的结果为0。如下图右表所示,最后用sumproduct求和。

第3种,在H3单元格输入下面的公式,不用三键。

=SUMPRODUCT((B$3:B$19=G3)*MMULT(C$3:E$19,{1;1;1}))

这个公式首先用mmult对C$3:E$19这个区域的每一行分别求和,也就是周一+周二+周三,结果如下图F列所示。然后再用sumproduct按条件求总和。

也可以看下面的这个公式:

=SUMPRODUCT((B$3:B$19=G3)*(C$3:C$19+D$3:D$19+E$3:E$19))

第4种,在H3单元格输入下面的公式,不用三键。

=SUM(MMULT((B$3:B$19=G3)*C$3:E$19,{1;1;1}))

这个公式实际上有点"脱裤子放屁",多走了一步。但是为了学习用法,你也可以研究一下。

第5种,在H3单元格输入下面的公式,不用三键。

=SUM(SUMIF(B:B,G3,OFFSET(B:B,,{1,2,3})))

这个公式用的是offset的多维引用,可以让sumif的1列条件,分别对3列数据求和,得到的结果有3个值,最后用sum对这3个值求和。

第6种,在H3单元格输入下面的公式,不用三键。

=SUM(SUMIF(B:B,G3,INDIRECT("c"&{3,4,5},)))

这个公式用的是indirect的多维引用,和第5种是一样的思路。

第7种,在H3单元格输入下面的公式,不用三键。

=SUM(SUMIF(B:B,G3,INDIRECT({"c","d","e"}&1)))

这个公式还是用的indirect的多维引用,只不过sumif的第3参数只引用了一个单元格。sumif的第3参数有延展性。

第8种,在H3单元格输入下面的公式,不用三键。

=SUM(DSUM(A$2:E$19,{3,4,5},G$2:G3))-SUM(H$2:H2)

这个公式用的是数据库函数dsum,由于dsum的第3参数是动态扩展的区域,所以计算后面品牌的销售总和时,要把前面其余品牌的销售总和减掉。

第9种,在H3单元格输入下面的公式,不用三键。

=SUMPRODUCT(COUNTIF(G3,B$3:B$19)*C$3:E$19)

这个公式用countif来判断B$3:B$19的区域是否等于G3的品牌,等于的返回1,不等于的返回0。写到这里,让我想到了还可以用查找函数来判断是否相等,比如find,match等。

第10种,选中H3:H8,在编辑栏输入或粘贴下面的公式,按ctrl+shift+enter。

=MMULT(MMULT(N(G3:G8=TRANSPOSE(B3:B19)),C3:E19),{1;1;1})

这个公式是区域数组的用法,所以不用考虑相对引用还是绝对引用的问题。而且用了两个mmult,相对来说比较复杂。想要深入学习的小伙伴可以研究一下。

最后,我想说的是,方法总比困难多。只要你肯学,我相信你还能想出第11种,12种······甚至更多的方法。让我们一起学习excel函数。如果觉得对你有所帮助,可以打赏一下。

链接:

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

提取码:yavx

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多