经理跟新人争执,当新人写出这个Excel公式那一刻,整个部门都安静下来了…
平常挺沉闷的数据部,今天出了件趣事儿。
经理老陈和新人小雪因一个Excel公式写法意见不同,小雪初生牛犊不怕虎,竟跟经理争执了起来......
就这样一来二去,引得部门其他几个人也过来围观,想看看到底发生了什么?
问题场景如下图所示,要根据公司的销售记录,统计北京、上海、广州的销售金额之和。
老陈呢,做了多年数据部经理,对Excel各种函数顺手拈来,安排工作时一贯很强硬;
他让小雪用SUMIF函数写3个公式,分别计算北京、上海、广州的销售金额,然后再加到一起,就是北上广总销售额。
小雪却嫌经理让她这样做太麻烦,明明1个公式就能搞定的问题,干嘛要写3个......
围观群众了解经过后,都站到了老陈一边,劝小雪听话,一直以来这类工作都是这样做的,从没错过;
聪明的你,会站在哪一边呢?
一、老陈的公式写法
老陈为了证明自己的方法没错,熟练地写出如下这个公式:
=SUMIF(B:B,"北京",F:F)+SUMIF(B:B,"上海",F:F)+SUMIF(B:B,"广州",F:F)
场景截图如下所示。
公式解析:
分别用SUMIF函数计算3个区域的销售额,再相加汇总到一起。结果经验证无误。
众人目光都投向了新人小雪。
二、小雪的公式写法
小雪看完经理写的公式,微微一笑,也写出一个公式。
那一刻,整个部门都安静下来了。
小雪的公式如下:
=SUM(SUMIF(B:B,{"北京","上海","广州"},F:F))
场景截图如下图所示。
这个短小精悍的公式,计算结果竟然和经理的一样,也是正确的。
可是大家抓破头也看不懂这是怎么算出来的。
小雪慢慢说,SUMIF函数虽然常被人用作单条件求和,但它也能处理多条件求和问题。
因为它的条件参数是接受数组形式的,当需要按多条件统计时,把条件参数对应调整就可以了。
公式=SUM(SUMIF(B:B,{"北京","上海","广州"},F:F))中的{"北京","上海","广州"}就是使用了常量数组作为条件参数,让SUMIF函数同时按北京、上海、广州分别统计结果,最后再用SUM函数汇总,一步到位。
这种公式的好处不仅仅是简短,而且结构清晰,当条件更多时,方便扩展。
这时,连同老陈在内的一众同事都投来了赞许的目光。
三、扩展功能解析
上面的案例是把多个条件下的统计结果相加,1个公式集成的写法。
其实,即使遇到更多种类的需求,也可以借助这种思路扩展解决,不仅仅是相加,还可以满足更多需求。
扩展要求如下:
统计价格在100至200之间的商品比价格在100以下的商品多卖的数量;
扩展案例的场景说明,如下图所示。
这时候99%的人都是先算出价格在100至200之间的商品的销售数量,再算出价格在100以下的商品的销售数量,最后用前者-后者;
常规公式如下:
=SUMIFS(E:E,D:D,">100",D:D,"<200")-SUMIFS(E:E,D:D,"<100")
效果如下图所示。
这个思路虽然很简单,但是写出来的公式比较长,可以用今天学到的技术大幅简化。
简化公式如下:
=SUM(SUMIF(D:D,{"<200","<100","<100"},E:E)*{1,-1,-1})
截图如下所示。
原理同前,不再赘述,以此思路可以对应更多复杂问题。
希望这篇文章能帮到你!