网站首页 > 基础教程 正文
嗨,各位同学们好呀!我是小E~
小E还为同学们准备了Excel插件安装包,获取直接在公种号【秋叶Excel】回复【头条】即可~
都说 Excel 函数公式难,其实难的不是函数,是函数组合起来,解决复杂问题的用法。
公式的本质 = 函数 + 条件。
计算的条件越多,函数公式就越复杂,难度也就越大。
今天,我们用最简单的求和函数 SUM 为例,一点点添加条件,看看求和公式有多少种用法。
简单求和
Excel 函数公式中,最简单的函数就是 SUM 函数了。
SUM求和。
比如下面要计算总的销量,输入 SUM 函数,选择求和区域就可以了。
这是最简单的。
▋条件 1:文本求和
接下来,我们尝试加第 1 个条件:文本求和。
看下面的数据,每个单元格左上角都有一个绿色的三角号,它的意思是,当前单元格保存的是一个「文本格式」的数字。
使用 SUM 函数对「文本格式」数字求和,结果会是 0,因为 SUM 函数会自动忽略文本进行求和。
所以,我们要做的,就是把「文本格式」数字,转换成「真数字」,公式如下:
公式:
=SUM(--B2:B8)
公式中的--,是两个减号,代表的负负得正,这个方法,可以把「文本格式」数字,转换成「真数字」,完成求和计算。
条件求和
刚刚我们的条件,是数字格式的转换,可以直接在 SUM 函数中完成。
接下来,我们变换一下条件,根据数字大小进行求和。
▋条件 2:数字条件
比如,下面的表格中,我们只对>100 的销量求和。
那么 SUM 函数,就要相应的改成下面的样子。而且输入公式后,要按下【Ctrl+shift+Enter】三个键,才可以计算正确。
=SUM(B2:B14*(B2:B14>100))
公式中,括号里面的是计算条件,即销量>100,计算过程是这样的:
如果符合条件,和原来的销量相乘,结果不变,比如 191*TRUE=191。
如果不符合条件,和原来销量相乘,等于 0,比如 191*FALSE=0。
这是一个数组公式,不太好理解。
所以,我们通常会使用更容易理解的 SUMIF 函数。
同样的需求,使用 SUMIF 函数计算,公式是这样的。
公式如下:
=SUMIF(B2:B14,">100")
第 1 个参数,是求和区域。
第 2 个参数,是判断的的条件。
使用 SUMIF 是不是就更容易理解了?
▋条件 3:分组条件
求和条件,还可以变得更复杂,比如下面的数据,我们要计算「部门 A」的销量总和。
这里的条件是部门等于「部门 A」,用 SUM 函数的话,是这样写。
=SUM(B2:B14*(A2:A14="部门A"))
括号里的用法,和上一个案例一样,将判断结果和「销量」数据相乘,然后再求和,只对符合条件的数据求和计算。
同样的,输入公式后,要按下【Ctrl+Shift+Enter】才能计算正确,因为这是一个数组公式。
或者,换成支持数组计算的 SUMPRODUCT 函数,公式的写法一样,只需要按下回车就可以。
公式如下:
=SUMIF(A2:A14,"部门 A",B2:B14)
▲ 左右滑动查看
「数组公式」的概念总会让人很费解,所以这个需求,用常用的 SUMIF 函数,更加简单。
公式如下:
=SUMIF(A2:A14,"部门 A",B2:B14)
其中:
? 参数 1,是判断的条件区域,即「部门」列。
? 参数 2,是判断的条件,即「部门 A」。
? 参数 3,是求和的区域,也就是「销量」列。
把条件放在单独的参数中,要比使用数组函数+逻辑计算,要容易理解。
隔行隔列求和
前面列举的几个例子,都是连续的数据区域。
针对不连续的区域,也可以使用条件求和快速实现。
▋条件 4:隔列求和
下面的表格中,「入库」和「出库」隔列出现。
现在要计算「入库」的总和,这个「隔列」求和,就可以用 SUMIF 函数来实现。
公式如下:
=SUMIF($B$2:$K$2,$L$2,B3:K3)
公式大家都非常熟悉了,因为参数 2 中的条件是「入库」,所以在进行条件求和是「出库」列的数据,就自动被忽略掉了。
所以,下次如果出现隔列或隔行求和的需求时,千万别像下面一样,傻乎乎的一个个选择相加了。
▋条件 5:隔列求和
但是也有列外。假如我们没有「入库」「出库」的表头,能不能进行隔列求和呢?
当然能,不过因为判断条件的数据缺失,所以「判断条件」部分就得通过嵌套函数来实现了,会变的非常复杂。
公式参考如下:
=SUMPRODUCT((MOD(COLUMN(B2:K2),2)=0)*(B2:K2))
▲ 左右滑动查看
这里没有使用 SUMIF 函数,因为 SUMIF 函数不支持数组操作,按下【Ctrl+Shift+Enter】也不行;所以只能用 SUMPRODUCT 函数。
另外,公式中还用到了下面几个函数:
COLUMN 函数,返回单元格对应的列号。
MOD 函数,计算 A 除以 B 的余数。
这里使用 MOD 函数计算列号除以 2 的余数,只有余数为 0 时才进行求和。
而求和的条件判断,则是使用数值和条件相乘计算得到的。
原理和条件 2 里的用法,是一致的。
小结
通过这几种不同的求和条件案例,你收获到了什么呢?总结一下:
? 简单的求和用 SUM;
? 条件求和用 SUMIF;
? 条件尽量写在单元格中,比如「入库」「出库」;
? 条件没在单元格,就要用数组公式+SUMPRODUCT,公式瞬间变复杂。
好吧,今天的课程就到这里了,我是小E,咱们下节课再见。
小E还为同学们准备了Excel插件安装包,获取直接在公种号【秋叶Excel】回复【头条】即可~
- 上一篇: 函数公式的左膀右臂:ROW、COLUMN函数知多少
- 下一篇: 8个必会的高效提取数字法,你知道几个?
猜你喜欢
- 2025-01-12 8个必会的高效提取数字法,你知道几个?
- 2025-01-12 函数公式的左膀右臂:ROW、COLUMN函数知多少
- 2025-01-12 【excel】从现在开始掌握sortby函数,各类排序都不怕!
- 2025-01-12 Vlookup一次性查找多个值,4种方法,你更喜欢哪种?
- 2025-01-12 常用公式,效果挺好
- 2025-01-12 获取列号函数COLUMN的应用技巧
- 2025-01-12 INDEX函数怎么用?两种方法全在这儿
- 2025-01-12 快速查询,INDEX和MATCH函数必须会!
- 2025-01-12 EXCEL:别想得太复杂,动态的职工信息表,用INDEX函数就可搞定
- 2025-01-12 MySQL的Json类型字段IN查询分组和优化方法
- 01-128个必会的高效提取数字法,你知道几个?
- 01-12条件太太太太太多怎么求和?教你5招,轻松就搞定
- 01-12函数公式的左膀右臂:ROW、COLUMN函数知多少
- 01-12【excel】从现在开始掌握sortby函数,各类排序都不怕!
- 01-12Vlookup一次性查找多个值,4种方法,你更喜欢哪种?
- 01-12常用公式,效果挺好
- 01-12获取列号函数COLUMN的应用技巧
- 01-12INDEX函数怎么用?两种方法全在这儿
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)