Sumifs函数公式,跨多列求和,高手必学!
工作中,多条件求和使用的频率仅次于查找匹配,Excel里面用到的是SUMIFS函数公式来求和,今天举两个特殊的场景,跨多列进行求和
例如,我们左边的数据源是姓名,工资,两列两列的数据
需要快速的计算员工的工资总和
也就是要分别对B列,D列,F列,H列求和
它们的条件列即对应的A,C,E,G列
我们可以用一个笨办法,用4个SUMIFS函数公式,把它的结果加起来
=SUMIFS(B:B,A:A,J2)+SUMIFS(D:D,C:C,J2)+SUMIFS(F:F,E:E,J2)+SUMIFS(H:H,G:G,J2)
但是这样效率不高,如果列数特别多的情况下,公式书写时间太长,容易出错
其实遇到上面的这个问题,我们可以直接使用的公式是:
=SUMIFS(B:H,A:G,J2)
也就是求和列,我们直接选择B:H列
条件列,我们选择A:G列
条件值,我们选择J2单元格
就可以一次性的把所有的结果给计算出来了
如果说,左边是员工各月工资表
现在需要对员工的总工资进行求和
那么求和列就是B:D列
条件列,始终就是A列
和上面的场景不一样
这个时候,如果我们使用的公式:
=SUMIFS(B:D,A:A,F2),是错误的,因为求和区域选的3列,你的条件区域如果只选一列,就会报错,数据长度不匹配
这个时候,我们需要使用的公式是:
=SUM(IF(A:A=F2,B:D,\”\”))
IF函数判断A列是否等于F2,如果等于的话,返回B:D列的数据
然后再用SUM公式进行求和即可
关于这个小技巧,你学会了么?动手试试吧!
关于求和的7个函数,真的都不赖,哪个才是你的菜?
求和,再普通不过的话题了,但是在实际数据除了和分析中,还是会遇到各种各样的问题,如果你能掌握下文所述的方法,那对于求和将会迎刃而解。
一、普通求和——Sum
功能:计算指定区域中数值的和。
语法结构:=Sum(值或单元格引用)。
目的:计算总【月薪】。
方法:
在目标单元格中输入公式:=SUM(G3:G12)。
二、单条件求和——Sumif
功能:对指定范围内满足条件的单元格求和。
语法结构:=Sumif(条件范围,条件,[求和范围]),当“条件范围”和“求和范围”相同时,可以省略“求和范围”。
目的:按【性别】统计月薪。
方法:
在目标单元格中输入公式:=SUMIF(D3:D12,I3,G3:G12)。
解读:
除了按【性别】统计外,还没按【婚姻】、【学历】等统计。在表格结构不变的前提下,按婚姻统计公式为:=SUMIF(E3:E12,I3,G3:G12);按【学历】统计的公式为:=SUMIF(F3:F12,I3,G3:G12)。
三、多条件求和——Sumifs
功能:对多个符合条件的单元格求和。
语法结构:=Sumifs(求和范围,条件1范围,条件1,条件2范围,条件2……)。
目的:按【性别】统计相应【年龄】范围内的【月薪】和。
方法:
在目标单元格中输入:=SUMIFS(G3:G12,D3:D12,I3,C3:C12,\”>\”&J3)。
解读:
多条件求和Sumifs除了能完成符合多个条件的求和外,还可以完成单条件求和Sumif的功能,其实就是1个条件下的多条件求和,例如,用Sumifs完成按【性别】统计【月薪】,公式为:=SUMIFS(G3:G12,D3:D12,I3)。所以在实际的应用中,大家要灵活对待哦!
四、区域求和——Sumproduct
功能:返回相应的数据或区域乘积的和。
语法结构:=Sumproduct(数据或区域1,[数据或区域2]……)。
注意事项:当只有一个数据或区域时,对该数据元素或区域内的值进行求和操作。
目的1:计算总【月薪】。
方法:
在目标单元格中输入公式:=SUMPRODUCT(G3:G12)。
目的2:按【性别】统计总【月薪】。
方法:
在目标单元格中输入公式:=SUMPRODUCT((D3:D12=I3)*(G3:G12))。
解读:
Sumproduct函数的作用为:返回相应的数据或区域乘积的和,在公式=SUMPRODUCT((D3:D12=I3)*(G3:G12))中,区域有2个,一个为D3:D12=I3返回的数据区域,另一个为G3:G12区域。如果D3:d12=I3中的条件成立,则返回1,否则返回0。根据本示例表,则D3:D12=I3返回的数据区域为{1,1,1,1,1,0,0,1,1,1},而G3:G12数据区域的值为{4735,2722,4095,2874,168,4478,3978,2760,3762,4425},所以相应的数据元素先乘积再求和,即:1×4735+1×2722+1×4095+1×2874+1×168+0×4478+0×3978+1×2760+1×3762+1×4425=25541,反之亦然哦!
目的3:按【性别】统计相应【年龄】范围内的【月薪】和。
方法:
在目标单元格中输入公式:=SUMPRODUCT((D3:D12=I3)*(C3:C12>J3)*(G3:G12))。
解读:
具体计算过程可以参阅“目的2”的解读过程哦!
五、可见单元格求和——Subtotal
功能:返回一组数据列表或数据库的分类汇总。
语法结构:=Subtotal(功能代码,数据区域)。
目的:计算按需求筛选后的总【月薪】。
方法:
在目标单元格中输入公式:=SUBTOTAL(9,G3:G12)或=SUBTOTAL(109,G3:G12)。
解读:
功能代码9或109所对应的函数为Sum,即求和函数。关于更多的功能代码,可以查阅历史消息中的相关文章哦!
六、忽略错误、隐藏行求和——Aggregate
功能:返回一个数据列表或数据库的合计。
语法结构:=Aggregate(功能代码,忽略代码,数据区域)。
目的:计算按需求筛选后的总【月薪】。
方法:
在目标单元格中输入公式:=AGGREGATE(9,7,G3:G12)。
解读:
如果数据区域中含有错误代码,用Sum等函数是无法直接对其进行求和计算的,此时,我们就可以用Aggregate函数来完成,更多的忽略代码请查阅历史消息中的相关记录。
七、数据库函数——Dsum
功能:求给定条件的数据库中记录的字段(列)数据的和。
语法结构:=Dsum(数据区域,求和字段,条件区域)。
目的1:按【性别】统计总【月薪】。
方法:
在目标单元格中输入公式:=DSUM(D2:G12,4,I2:I3)。
解读:
1、Dsum函数中的参数“数据区域”、“条件区域”必须包含标题行,即“数据区域”为D2:G12,而不是D3:G12,“条件区域”为I2:I3,而不是I3。
2、参数”求和字段“即可是指定的名称,也可以是该字段在”数据区域“中的相对位置,还可以是该字段所在的单元格地址。公式:=DSUM(B2:G12,\”月薪\”,I2:I3)、=DSUM(B2:G12,G2,I2:I3)和=DSUM(D2:G12,4,I2:I3)的作用相同。大家要灵活对待。
3、此方法也可以称为:单字段单条件。
目的2:统计【学历】为【大本】和【大专】的总【月薪】。
方法:
在目标单元格中输入公式:=DSUM(B2:G12,6,I2:I4)。
解读:
此方法为:单字段多条件。
目的3:按【性别】、【学历】统计总【月薪】。
方法:
在目标单元格中输入公式:=DSUM(B2:G12,6,I2:J3)。
解读:
此方法为:多字段单条件求和。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。