说到excel函数,很多人第一时间想到的就是求和函数sum。作为excel入门级函数,sum的确是小白级的,以至于很多人对求和函数有点“误解”,觉得求和函数太简单了。
但是,你可能不知道,sum只是excel求和家族里的一个小成员而已,它的家人们可都是厉害着呢。
今天我们就一起来认识一下这个求和家族吧。
1.sum基础求和
sum语法规则是:
=sum(数据区域)
案例:对下表的“销售”列求和,计算出总销量
在销售总量单元格(G2)中输入公式:
=sum ( 1* (E2:E11))
公式说明:销售列是在E列,所以公式里的数据区域是E2:E11,那为什么这里不直接用公式=sum(E2:E11)进行求和呢?而是前面多了“1*”。
因为在 “销量”列里存在文本形式的数字,当这种数据作为sum函数的参数时,会被当作为文本来运算,所以如果直接用公式=sum(E2:E11)求和,文本型数字就没有被包括在求和中,从而使得求出来的结果与真实结果并不相符。
如何把文本型数字转换为数值型数字呢?
可以用“分列”的方法,直接把文本型数字转换为数值,然后在求和。还有一种办法是像案例中的1*(E2:E11)的形式强制转换为数值格式。
2.sum跨表求和
案例:汇总各销售部的销售总量
如上图所示,我们要将销售1部、销售2部、销售3部,销售4部,销售5部的销量进行汇总,其中销售1、2、3、4、5部门的销售数据是连续排列的5个工作表,每个表的A2:B6数据区域分别存放着各销售部门1至5月份的销量数据。
在目标单元格输入公式“=sum(”,然后鼠标单击“销售1部”工作表,按住shift键再单击“销售5部”工作表,然后选取B2单元格,按enter 键结束,将得到以下公式:
=sum(销售1部:销售5部!B2)
公式说明:
(1)要对不同的表的相同区域进行求和,可以用sum进行跨表求和
(2)当跨表引用多个相邻的工作表中相同的数据区域进行汇总时,无须逐个工作表对数据区域进行引用,可以按工作表的排列顺序,使用冒号将第一个工作表和最后一个工作表表名进行连接,作为跨表引用的工作表名。
注意:sum的跨表求和,是对多张工作表上的相同单元格区域进行引用求和。所以在案例演示中,我们也可以看到,销售1-5部的销售表,其表结构是完全一致的。
3.单条件求和:sumif
=sumif(条件区域,条件,求和区域)
sumif是对条件区域进行判断,只对满足条件的数据求和。
案例:按月份统计每个月的销量
在目标单元格H2中输入下面的公式 ,然后向下填充公式,求出其它月份的总销量。
=sumif($B$2:$B$11,G2,$E$2:$E$11)
公式说明:sumif将数据区域B2:B11(月份列)中的每一个单元格都与条件值G2单元格(月份)进行比对,如果相等,就与B2:B11(月份列)中对应的“销量”列(E2:E11)的值进行求和。也就是按月份来求和。
4.多条件求和:sumifs
sumifs函数,多条件求和,语法规则为:
=sumifs(求和区域,条件1区域,条件1,条件2区域,条件2…条件N区域,条件N)
案例:按月份统计某产品的总销量。例如1月份A产品的总销量是多少?1月份B产品的总销量是多少?
在目标单元格输入公式:
=sumifs(E2:E11,B2:B11,G2,C2:C11,H2)
公式说明:sumifs函数与sumif函数的参数位置是有区别的:
除了参数顺序不一致之外,sumifs实现原理其实与sumif函数完全相同,只不过,是在后面多添加了统计条件而已。
对于案例演示中的公式,如上,sumifs函数将条件区域B2:B11(月份列)中的每一个单元格都与条件值G2(月份)单元格进行比对;将条件区域C2:C11(产品列)中的每一个单元格都与条件值H2(产品)单元格进行比对;如果都相等,则将E2:E11(销量列)中对应的销量进行求和。
5.乘积求和:sumproduct
sumproduct函数:product,在英文中是“相乘”的意思,和求和函数sum结合起来,就是相乘后再相加,统计的是对应区域的乘积之和。语法规则是:
=sumproduct(乘积区域1,乘积区域2)
乘积区域1和乘积区域2中的数字会被一一对应相乘最后将这些乘积求和,也就是乘积和。
案例:统计总销售额,也就是每一行的单价*销量,然后再求和
在目标单元格输入公式:
=sumproduct(D2:D11,E2:E11)
公式说明:单价列(D2:D11),销量列(E2:E11))。sumproduct是对D2与E2相乘,D3与E3相乘,D4与E4相乘…,然后再将它们的乘积进行相加,就是每一行的单价*销量,然后再求和得出总销售额。
6.数据库求和:dsum函数
作为求和家族中的一员,dsum函数相对于其它成员来说,存在感不强,这里了解下即可。
dsum函数,返回的是数据区域中满足指定条件的列中的数字之和。语法规则是:
=dsum (数据区域, 求和字段的列数,条件区域)
案例:统计销售员猴子、苏火火、高小明的总销量
在目标单元格输入公式
=dsum(A1:E11,5,G1:G4)
公式说明:特别注意,“数据区域”和“条件区域”,必须要包含列标题。所以案例中的公式=dsum(A1:E11,5,G1:G4)中,数据区域是(A1:E11)。
求和字段是“销量”,“销量”列在数据区域A1:E11中位于第5列,所以,第二个参数“求和字段的列数”是5。
“条件区域”也就是对哪些销售员进行销量求和,案例中是猴子、苏火火、高小明所在的数据区域,所以,条件区域是G1:G4。
6.总结
通过上面的介绍,想必小伙伴们对求和一家子也认识得差不多啦。求和除了sum函数的基础应用,还可以根据要解决的业务问题选择跨表求和、单条件求和、多条件求和、乘积求和、数据库等,你都get到了吗?
我是猴子,中科院硕士/前IBM高级软件工程师/豆瓣8分《数据分析思维》作者,我在知乎知学堂上线了一个数据分析课程,结合IBM项目经验和国内互联网大厂一线业务案例,讲解常用模型+逻辑框架,还有常用数据分析工具带练+业务实操带练,数据分析技能和思维两条腿走路,让你成为真正的数据分析师,而不是数据处理工具人。无论你是想学习个辅助工作的技能,还是想转行数据分析,都可以点击文末阅读原文链接学习:
往
数据分析师和数据工程师的区别是什么?
期
领导让我预测下一年销量,怎么办?
回
一张图看懂数据分析、机器学习、深度学习、人工智能的关系
顾
为什么Kaggle对找工作有帮助?如何入门?
⬇️点击「阅读原文」
进入 数据分析训练营