组队打怪,更多人爱!
原创作者 | 李锐
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
个人微信号 | (ID:ExcelLiRui520)
组队打怪,更多人爱!
开头要说的是,今天这篇文章有感而发,所以除了单纯的技术科普,我还会分享一些感想和经验,我想这样应该会帮到更多人更快成长吧。
既然说是有感而发呢?我现在什么感受呢,是喜忧参半的。
喜是喜在我从同学们的提问和反馈发现,越来越多的同学已经能够借助Excel函数实现简单的自动计算了,这和我2016年刚开号时的提问状况大有改进,说明我的粉丝们整体程度提升了不少!
忧是忧在还是有很多纸老虎的问题,难倒了大多数人。为什么说是纸老虎呢?因为这类问题并不困难,而且只要大家能够灵活运用已经学过的知识,原本是可以解决的,但遗憾的是,能够举一反三的人太少了,或者说大多数人的功力还需进一步提升。
为了切实提升你的实战能力,今天结合几个案例,给大家介绍组队打怪的思路和技术,看完觉得好的,记得去底部点个好看再分享给朋友,我会根据大家的反馈调整文章写法。
除了本文内容,还想全面、系统、快速提升Excel技能,少走弯路的同学,请从开头二维码或文末“阅读原文”进知识店铺。
案例说明
咱们不能空讲,先来引入一个实际案例,结合它便于层层展开今天要分享给大家的思路和技术。
下图是某企业北京地区的销售表,包含渠道、商品类别、品牌名称等原始数据,要求你统计所有手机的总销量。
请同学们先跟着我的思路走
统计所有手机的总销量,首先你先给这个业务目的归类,应该算条件求和,为什么呢?因为手机是商品类别其中之一,要从众多原始数据中摘取手机的销量再汇总求和,这就是条件求和问题。
归类问题第一步以后,你要做的是有哪些函数能满足你的要求,这时你应该能想到sumif函数,好,先就此打住,后面会继续说sumif。
假如你是个函数小白,还无法驾驭sumif函数,只会sum函数和if函数,怎么办?
大多数小白到这一步就卡住了,下面教大家一种破解方法。
化繁为简,各个击破
条件求和问题如果你无法直接解决,可以拆分开再看,这里我有经验分享。
思路:将复杂问题拆解为多个简单问题,只要你能解决每一个简单问题,就能搞定复杂问题。
将这个条件求和问题拆分为条件判断问题+求和汇总问题,先用IF函数条件判断,再用SUM函数求和汇总。
先来解决第一个简单问题:条件判断,请看下图,创建辅助列写公式
黄色单元格是公式生成,利用IF函数提取符合条件的数据,不符合条件的位置返回0,返回的三个非零值为414、207、348,正好就是手机对应的销量。
再来解决第二个简单问题,求和汇总,请看下图
这样以来复杂问题拆分为简单问题,轻松解决了,案例虽然简单,但是这里重点是吸取这种思路。
在此基础上,如果不想先创建辅助列再分步计算,想要一步完成统计,可以吗?
当然可以,继续看下面的思路和方法。
SUM和IF函数组队打怪
当SUM函数和IF函数单独都无法搞定问题时,你可以把他们两个组合起来,组队打怪,威力倍增!
怎么组队打怪呢?你可以借助多项计算模式将这两个函数合二为一。这里再分享一条经验。
思路:单个函数乏力时,就用多函数组合嵌套组队打怪,即在函数参数中构建条件参数,一个函数计算之后再传递给另一个函数继续计算,必要时开启多项计算模式(数组公式)
明确思路了再引入本案例,把上面的思路落地执行,先用IF函数构建条件参数,提取出符合条件的数据,再传递给SUM函数继续求和汇总,看下图的数组公式。
上图中I2单元格数组公式如下,注意按ctrl+shift+enter输入
=SUM(IF(B2:B19="手机",D2:D19,0))
一句话解析:
先用IF函数依次判断数据源中的数据哪些符合条件,IF函数返回{0;414;0;0;0;0;0;207;0;0;0;0;0;348;0;0;0;0}中的非零值都是符合条件的,再将其传递给SUM函数求和汇总,得到最后结果。
这样明确思路后,组队打怪,更多人爱!
然后咱们再接着前面说的sumif继续,下文详解。
SUM+IF合体为SUMIF
SUM+IF合体以后,请注意,SUMIF是一个函数,而不是两个,他可以帮我们实现条件求和需求
下图中的方法2就是用了sumif直接解决
J2单元格公式如下
=SUMIF(B:B,"手机",D:D)
这样来看,sumif公式短小精干,虽然是普通公式,也照样实现之前SUM+IF数组公式组队才能办到的事。
但是,这还仅限于简单问题,当复杂问题来临时,就连强大的SUMIF也需再次找人组队。
继续向下看,下文详解。
SUMIF和SUM组队打怪
为了便于同学们更好理解,还是结合案例展开。
下面的要求是统计所有手机和电脑的总销量,注意,不光手机,还包含电脑了,也就是多个商品类别同时统计。
下图中是上海地区的销售报表,大家看下你会怎么做。
此处建议你先独立思考30秒钟,再看我下文中的解析
10秒钟......
20秒钟......
30秒钟......
揭晓谜底之前,我先来说下据我所知,大部分人会用的方法,即下面的公式。
=SUMIF(B:B,"手机",D:D)+SUMIF(B:B,"电脑",D:D)
这个公式原理很简单,就是分别计算手机的总销量和电脑的总销量,然后相加。
那么问题来了,当需要统计的类别很多时,是不是要在后面继续+其他类别的公式然后越来越长呢?
当然不是,肯定有更好的办法,只是你不知道而已!
如果前面的思路你完全汲取,现在应该想到了,组队打怪,更多人爱!
SUMIF单独无法搞定这个问题,咱们找来SUM函数和SUMIF组队,公式如下。
=SUM(SUMIF(B:B,{"手机","电脑"},D:D))
这个公式的原理前面提及过,如果你回想不起来,我再重复一次:
思路:在函数参数中构建条件参数,一个函数计算之后再传递给另一个函数继续计算
一句话解析:
SUMIF的条件参数使用{"手机","电脑"},作用是分别按照两个条件进行统计,然后再传递给SUM函数继续求和。
SUMIF返回{845,459},然后=SUM({845,459})计算出1304
你是不是发现,复杂问题拆解为简单问题之后,纸老虎就真的变成纸可以直接手撕啦!
即使到此为止你全会,也别太得意,下面还有问题的升级版,从单工作表内的数据扩展到多张工作表数据同时统计,看你会不会还能轻松手撕?
跨多工作表条件汇总
现在在之前北京报表、上海报表的基础上加上广州报表,也就是要在这三张工作表中的数据里面,按照要求统计。
统计要求如下图所示,要你把北京、上海、广州所有手机和电脑的总销量统计出来。
此处再次建议你先独立思考50秒钟,再看我下文中的解析
10秒钟......
20秒钟......
30秒钟......
40秒钟......
50秒钟......
现在公布答案,此处除了SUMIF和SUM组队之外,由于需要跨多个工作表统计,还需要引入INDIRECT函数组队。
这样,两个函数组队无法搞定的问题,三函数组队就可以轻松破解,即下面的公式。
=SUM(SUMIF(INDIRECT({"北京","上海","广州"}&"!b:b"),{"手机";"电脑"},INDIRECT({"北京","上海","广州"}&"!d:d")))
下图为此公式计算结果示意图
这个公式的原理依然可以借鉴前面的思路,如果你回想不起来,可以回上文查看,此处不再赘述。
一句话解析:
INDIRECT函数实现跨表引用,SUMIF函数实现条件求和,SUM函数实现求和汇总,每个函数各司其职,处理完成后将结果传递给下一个函数继续计算,组队打怪,轻松破敌!
当然,即使你有了这些思路,真正到了Excel里面落地执行的时候,还是需要掌握每个函数基础用法的,否则光有思路无法落地,还是寸步难行的。
当然组队打怪的思路和技术还有很多,更多是在知识店铺中超清视频讲解的,本文所述跟知识店铺中的Excel特训营内容相比不足1%,关于函数目前已有以下三期(各不重复)
1、单个函数讲解,我挑选了67个最具价值的函数放在二期特训营(函数初级班);
2、函数组合讲解,我精选了100种组合嵌套技术放在八期特训营(函数进阶班);
3、数组公式、内存数组、跨表引用等瓶颈技术,放在九期特训营(函数中级班)。
今天从简单问题的解析到复杂问题的拆分,除了具体公式外,希望同学们还能汲取到一些思路,因为往往是先有思路才有方法,没有思路就好比失去了方向。
方向第一,努力第二,建议大家建立科学的系统的思维体系来思考、处理和解决问题,然后随着工作和学习中的不断总结,把碎片化的知识和小技巧进行有机组合架构,这样才能不断完善自己系统化的思维体系,而不是始终处在简单堆砌的状态,这也是各期特训营课程里我在案例解析中经常会提醒大家注意的关键点之一。
从素材整理到截图编辑和敲字修改,不知不觉已经写了3小时,今天就先到这里吧,希望这篇文章能帮到你!更多文章加下方小助手查看。
如果你喜欢这篇文章
欢迎点个好看,分享转发到朋友圈