« 电脑重装系统后的设置1.1 (了解)通用爬虫和聚焦爬虫 »

Excel职场实用重点知识:单一条件多列数据求和方法汇总!

摘自《小包Excle速成讲堂》

职场中,我们经常会使用到利用Excel进行单一条件或多条件求和,只要熟练掌握SUMIF及SUMIFS函数即可处理。实际上,职场中我们可能会遇到形态迥异的数据分布,譬如涉及到单一条件多列数据求和,那么该如何操作呢?下面,小包来给小伙伴们做个详细的解答。

 如图1所示,分别是每个办公产品对应的三个月的销量,现在要求每个产品的三月销量之和,如何使用函数来解答呢?

 

1.笨办法:多个SUMIF相加 

对于Excel不是很熟练的小伙伴来说,可以使用多个SUMIF相加的笨办法进行操作。如图2所示,点击G2单元格,输入公式:

=SUMIF($A$2:$A$7,F2,$B$2:$B$7)+SUMIF($A$2:$A$7,F2,$C$2:$C$7)+SUMIF($A$2:$A$7,F2,$D$2:$D$7)。

 

2.SUM+IF函数组合方法(单一条件多列求和)

如图3所示,我们可以使用SUM+IF函数组合的方法来解决单一条件多列数据求和的问题,

其公式为:=SUM(IF($A$2:$A$7=F2,$B$2:$D$7,"")),最后需按下数组三键CTRL+SHITF+ENTER。

先使用IF函数,$A$2:$A$7=F2表示对满足条件的产品进行判断,符合条件返回TRUE,否则返回FALSE。为TRUE时IF函数返回$B$2:$D$7中对应的值,为FALSE时IF函数返回空值。($B$2:$D$7表示3列6行的数组{122,150,130;100,200,168;89,100,105;105,118,132;56,66,75;255,301,285})

以产品“键盘”为例,IF函数返回的结果为数组{122,150,130;"","","";"","","";"","","";"","","";"","",""},最后用SUM函数对这个数组进行求和,因为涉及到数组,因此要用数组三键。 

 

3.SUMPRODUCT乘积之和函数(多条件多列求和)

SUMPRODUCT是Excel中非常强大的万能函数之一,可以进行多条件求和、计数等。如图4所示,

其公式为:=SUMPRODUCT(($A$2:$A$7=F2)*($B$2:$D$7))。

$A$2:$A$7=F2形成逻辑值数组{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},$B$2:$D$7是销量数组,当这个两个数组相乘时,逻辑值TRUE可以看作1,FALSE可以看作0,以条件“键盘”为例,相乘后的结果为{122,150,130;0,0,0;0,0,0;0,0,0;0,0,0;0,0,0},最后对这个数组进行求和。 

另外,如图4-1所示,也可以写作为:=SUMPRODUCT(($A$2:$A$7=F2)*($B$2:$B$7+$C$2:$C$7+$D$2:$D$7))。

 

4.灵活运用SUM函数(单一条件多列求和)

是的,灵活运用SUM函数也可以达到单一条件多列数据求和的目的。如图5所示,

其公式为:=SUM(($A$2:$A$7=F2)*($B$2:$D$7)),按下数组三键。

函数原理与SUMPRODUCT函数一致,区别在于SUM函数本身并非数组函数,需要按下数组三键。

 

5.CONCAT+IF组合函数(单一条件多列计数)

CONCAT函数的作用是将数组中的元素连接起来,如图6所示,

其公式为:=CONCAT(IF($A$2:$A$7=F2,$B$2:$B$7+$C$2:$C$7+$D$2:$D$7,"")),按下数组三键。

$B$2:$B$7+$C$2:$C$7+$D$2:$D$7表示1列6行的数组{402;468;294;355;197;841},$A$2:$A$7=F2进行逻辑判断,条件满足时返回{402;468;294;355;197;841}数组中对应的值,不满足返回空值,以条件“键盘”为例,IF函数返回结果为{402;"";"";"";"";""},最后用CONCAT进行连接。

 

6.SUM+SUMIF+OFFSET函数组合(多条件多列求和)

第一种方法中,小包给大家介绍了利用SUMIF累计相加的方法进行求和,那么有没有什么方法可以简化这种累计相加的步骤呢?我们可以利用OFFSET函数构建3个一列的销量区域,如图7所示,

其公式为:=SUM(SUMIF($A$2:$A$7,F2,OFFSET($A$2:$A$7,0,{1,2,3})))。

OFFSET($A$2:$A$7,0,{1,2,3})构建1,2,3月销量的单列数据区域,再利用SUMIF对符合条件的产品进行求和,它的结果是3列1行的数组,以“键盘”为例,SUMIF的结果为{122,150,130},最后用SUM函数对这个数组进行求和。 

 

7.SUM+SUMIF+INDIRECT函数组合(多条件多列求和)

在Excel中,OFFSET函数构建的多列数据区域,通常也可以用INDIRECT函数达到同样的效果。如图8所示,

其公式为:=SUM(SUMIF(A:A,F2,INDIRECT("C"&{2,3,4},FALSE)))。

INDIRECT函数有A1和R1C1两种用法,此案例使用R1C1用法,第二参数用FALSE表示。"C"&{2,3,4}表示第二列、第三列、第四列的3个单列数据区域,即销量所在的数据区域,用SUMIF函数对三列销量数据分别求和,得到三个月的销量数组,最后利用SUM函数求和。 

也可以使用INDIRECT函数的A1用法构建单列数据区域(第二参数省略不写表示A1用法),如图9所示,其公式为:=SUM(SUMIF(A:A,F2,INDIRECT({"b","c","d"}&1)))。

 

结束。

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright shahana's WebSite. Some Rights Reserved.
Record number:京ICP备19041645号.