老板让985毕业的新同事给表格加个Excel自动发货公式,结果第二天他就离职了
个人微信号 | (ID:LiRuiExcel520)
微信服务号 | 跟李锐学Excel(ID:LiRuiExcel)
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
今天的案例来自学员提供的真实案例,老板让新招的985毕业生做个自动发货表格,本以为没问题的,结果第二天他就离职了。
中间过程不表,我们重点来介绍一下这个案例中的Excel按照订单先后顺序自动核算发货数量的技术。
将场景还原到Excel中如下面动图所示,根据商品的库存数量(F1单元格)和经销商先后发来的订单(A列),按照订单数量(B列)核算出每笔订单的发货数量,演示过程详见下图:
由于已经做好了公式,可见无论库存数量或者订单数量怎么变,C列的发货数量始终可以按照先后顺序依次核算发货数,根本不必手动折腾的。
下面介绍一下这类问题的处理思路和解决方法,最后还有扩展方案。
问题拆分及思路解析
在处理任何问题的时候,都要先明晰思路,再动手去做,要清楚根据什么算什么,各种数据之间的勾稽关系是如何的?
本案例中已知库存数量和订单数量,要求计算发货数量,由于是多笔订单需要依次发货,所以要考虑到所有情况,每种情况分别进行计算。
这里的关键点在于,库存数量是随着各笔订单发货而不断减少的,要算出当前订单的发货数量,就要知道发到这笔订单时剩余的库存数量,当剩余库存数量大于这笔订单数量时,发货数量=订单数量;否则说明剩余库存数量不足以完全发货,发货数量=剩余库存数量。
明白了这样的原理之后,再借助Excel中的函数公式,以及混合引用计算实现思路中的计算方法,就可以在Excel中落地实现了!
大众解法:分层条件判断方法
首先来看大众解法,借助IF判断和SUM求和。
C列公式写法如下所示。
=IF(F$1-SUM(C$1:C1)>B2,B2,F$1-SUM(C$1:C1))
场景效果如下图(黄色区域为公式所在位置)
注意公式中混合引用的使用方法,结合前面构思好的思路,这样即可实现自动计算。
扩展方案:简化公式及写法
虽然IF函数和SUM函数可以实现自动计算,但是公式还可以进一步简化
简化后公式写法为:
=MIN(B2,F$1-SUM(C$1:C1))
场景效果如下图(黄色区域为公式所在位置)
这样即使不用IF函数,也可以轻松实现条件判断,同学们可以自己模拟数据理解一下,即可明白这样使用的妙处所在。
希望这篇文章能帮到你!怕记不住可以发到朋友圈自己标记。
>>推荐阅读 <<
(点击蓝字可直接跳转)