职场Excel:求和家族,不简单

news/2024/7/21 7:50:13 标签: excel

6da8519f6072ef138e463503a801a18f.jpeg

说到excel函数,很多人第一时间想到的就是求和函数sum。作为excel入门级函数,sum的确是小白级的,以至于很多人对求和函数有点“误解”,觉得求和函数太简单了。

但是,你可能不知道,sum只是excel求和家族里的一个小成员而已,它的家人们可都是厉害着呢。

今天我们就一起来认识一下这个求和家族吧。

1.sum基础求和

sum语法规则是:

=sum(数据区域)

案例:对下表的“销售”列求和,计算出总销量

c5dc0d57fea42feeb12fe7d21d84c3dc.png

在销售总量单元格(G2)中输入公式:

  • =sum ( 1* (E2:E11))

公式说明:销售列是在E列,所以公式里的数据区域是E2:E11,那为什么这里不直接用公式=sum(E2:E11)进行求和呢?而是前面多了“1*”。

因为在 “销量”列里存在文本形式的数字,当这种数据作为sum函数的参数时,会被当作为文本来运算,所以如果直接用公式=sum(E2:E11)求和,文本型数字就没有被包括在求和中,从而使得求出来的结果与真实结果并不相符。

b1331ead4cbb9f2739ab1ed2be5fb89f.png

如何把文本型数字转换为数值型数字呢?

可以用“分列”的方法,直接把文本型数字转换为数值,然后在求和。还有一种办法是像案例中的1*(E2:E11)的形式强制转换为数值格式。

2.sum跨表求和

案例:汇总各销售部的销售总量

1a49364c2af382e57e4519107844b140.png

如上图所示,我们要将销售1部、销售2部、销售3部,销售4部,销售5部的销量进行汇总,其中销售1、2、3、4、5部门的销售数据是连续排列的5个工作表,每个表的A2:B6数据区域分别存放着各销售部门1至5月份的销量数据。

2d87e2832ede1ffbf0f49d0ddd1a9cb0.png

在目标单元格输入公式“=sum(”,然后鼠标单击“销售1部”工作表,按住shift键再单击“销售5部”工作表,然后选取B2单元格,按enter 键结束,将得到以下公式:

  • =sum(销售1部:销售5部!B2)

公式说明:

(1)要对不同的表的相同区域进行求和,可以用sum进行跨表求和

(2)当跨表引用多个相邻的工作表中相同的数据区域进行汇总时,无须逐个工作表对数据区域进行引用,可以按工作表的排列顺序,使用冒号将第一个工作表和最后一个工作表表名进行连接,作为跨表引用的工作表名。

a43c3a02146f25389453b566117c9dfa.png

注意:sum的跨表求和,是对多张工作表上的相同单元格区域进行引用求和。所以在案例演示中,我们也可以看到,销售1-5部的销售表,其表结构是完全一致的。

3.单条件求和:sumif

=sumif(条件区域,条件,求和区域)

sumif是对条件区域进行判断,只对满足条件的数据求和。

案例:按月份统计每个月的销量

a433574b2b6b0c63e36e531448cb1727.png

在目标单元格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产品的总销量是多少?

5048dc6e284baf906f915b0b5e058709.png

在目标单元格输入公式:

  • =sumifs(E2:E11,B2:B11,G2,C2:C11,H2)

公式说明:sumifs函数与sumif函数的参数位置是有区别的:

51d88dfe496c41c18e5ede34ae98777d.png

除了参数顺序不一致之外,sumifs实现原理其实与sumif函数完全相同,只不过,是在后面多添加了统计条件而已。

4fb9e3e0b4948202ff9f3f16dd6b9e08.png

对于案例演示中的公式,如上,sumifs函数将条件区域B2:B11(月份列)中的每一个单元格都与条件值G2(月份)单元格进行比对;将条件区域C2:C11(产品列)中的每一个单元格都与条件值H2(产品)单元格进行比对;如果都相等,则将E2:E11(销量列)中对应的销量进行求和。

5.乘积求和:sumproduct

sumproduct函数:product,在英文中是“相乘”的意思,和求和函数sum结合起来,就是相乘后再相加,统计的是对应区域的乘积之和。语法规则是:

=sumproduct(乘积区域1,乘积区域2)

乘积区域1和乘积区域2中的数字会被一一对应相乘最后将这些乘积求和,也就是乘积和。

案例:统计总销售额,也就是每一行的单价*销量,然后再求和

09e59e7875009c8a59d50984ba0fb274.png

在目标单元格输入公式:

  • =sumproduct(D2:D11,E2:E11)

公式说明:单价列(D2:D11),销量列(E2:E11))。sumproduct是对D2与E2相乘,D3与E3相乘,D4与E4相乘…,然后再将它们的乘积进行相加,就是每一行的单价*销量,然后再求和得出总销售额。

6.数据库求和:dsum函数

作为求和家族中的一员,dsum函数相对于其它成员来说,存在感不强,这里了解下即可。

dsum函数,返回的是数据区域中满足指定条件的列中的数字之和。语法规则是:

=dsum (数据区域, 求和字段的列数,条件区域)

案例:统计销售员猴子、苏火火、高小明的总销量

c23b3938a693620e918313bc4cfabaf2.png

在目标单元格输入公式

  • =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对找工作有帮助?如何入门?

 ⬇️点击「阅读原文」

进入 数据分析训练营


http://www.niftyadmin.cn/n/5207271.html

相关文章

浅析中国传统思想的个人管理哲学

前言 修口、修身、修心是中国的一个传统修行功课。一直是探讨的重要方向。 领导的前提,是先成为你想要成为的那个人,然后领导别人成为你想成为的人。 修口、修身、修心的重要性 1. 修口(修养言辞) 修口强调个体在言辞和言行上…

thinkphp6 不支持:redis错误

起因: 使用 redis 时候,thinkphp 报错。 解决方法: 打开 php.ini 文件,增加 extensionphp_redis.dll 即可

【c语言】 逻辑运算符运算规则

1.&&逻辑运算符的坑 int x0,y0,z0; z (x1) && (y2); printf("%d",y);//y0;今天遇到了同学问的问题,为什么y输出为0. 我第一时间也记不得,工作中一般不会写这种代码,但是却不能…

error: ‘ui/ui_uimainwindow.h‘ file not found

问题:在刚好创建的Qt Designer Form Class类中,发现类的.cpp文件中有ui头文件未找到 原因:.ui文件没有被识别到,或者.ui文件不存在,导致ui头文件未创建而报错。 解决:若修改了.ui文件,随手ctrls…

react中虚拟dom,diff,fiber - 初级了解

借鉴: 「React深入」一文吃透虚拟DOM和diff算法 - 掘金 (juejin.cn) 虚拟dom、fiber、渲染dom、dom-diff - 掘金 (juejin.cn) 未阅读源码,了解层面,后续可以深入了解 1.虚拟DOM ①.结构上:虚拟DOM比真实DOM轻很多 ②.操作上&…

缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性

文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时,如何保证数据库和缓存的一致性?1. 先更新数据库?先更新缓存?解决方案 2…

飞翔的鸟游戏

一.准备工作 首先创建一个新的Java项目命名为“飞翔的鸟”,并在src中创建一个包命名为“com.qiku.bird",在这个包内分别创建4个类命名为“Bird”、“BirdGame”、“Column”、“Ground”,并向需要的图片素材导入到包内。 二.代码呈现 pa…

Windows使用WSL编译自己的JDK

Windows使用WSL编译自己的JDK 一、获取源码二、构建编译环境三、进行编译验证编译结果 四、配置环境变量五、使用CLion进行调试 参考资料:《深入理解java虚拟机》 笔者使用的操作系统为windows,但是windows编译自己的jdk还是比较麻烦的,所以我…