一键追欠料!WPS表格实战MRP欠料计算-7
优秀创作者
昨天第6章内容主要聚焦于本报表的核心欠料运算。通过子件库存的引用以及累计需求的计算,计算出了子件的累计欠料。累计欠料的显示方式是按日期进行逐日累加,并不能清晰的看到每张订单欠料多少?
所以在今日第7章的设计方向为显示每日欠料明细,判断是否欠料模块;
每日欠料
在判断出每张生产任务的累计欠料数量后,继续判断每日对应生产任务的欠料。这个欠料判断的逻辑为,如果库存减去累计需求大于等于0,就显示为0,否则就显示累计欠料。定义这个结果为A,如果绝对值A小于生产任务的需求量,就返回A,否则的话返回负数的生产任务的需求量。对应的动态数组公式为:
=LET(Y,G2#,L,H2#,K,J2#,J,K-L,A,IF(J>=0,0,J),IF(ABS(A)<Y,A,-Y))
判断欠料
累计欠料与每日欠料数量计算出来后,可以根据这个结构进行判断,如果数量是小于0的就显示为欠料,否则的话就是不欠,录入动态数组公式:
=IF(L2#<0,"欠料","不欠")
这样就可以通过筛选快速筛选出对应的欠料物料编码信息,也可以作为后续聚合参数的筛选判断列。
供需分析
接下来就是供求分析了,需求就是所有父件产生的子件需求汇总,供应就是对应的可用库存。通过供应与需求的运算,快速判断出欠料情况。录入公式:
子件编码=INDEX(GROUPBY(欠料计算!F2#,欠料计算!G2#,SUM,,0),,1)
子件需求=INDEX(GROUPBY(欠料计算!F2#,欠料计算!G2#,SUM,,0),,2)
子件库存=XLOOKUP(A2#,欠料计算!F2#,欠料计算!J2#)
累计欠料数量=C2#-B2#
结果判断
通过聚合函数进行供需平衡运算后,得到具体的数字,如果结果是0就是供需平衡,大于0,就是供大于需,小于0就是需大于供,这样描述显得过于生硬,可以通过IF函数进行更改为:
=IFS(D2#=0,"刚好",D2#>0,"富余",D2#<0,"短缺")
公式解释:
数字等于0,代表物料刚刚好,大于0代表富余,小于0代表短缺。
再增加一列,需求的生产任务数量,这一列的目的是快速根据返回的数字去推算有多少张生产任务需求。可以通过聚合统计加查找引用函数来实现。录入动态数组函数:
=VLOOKUP(A2#,GROUPBY(欠料计算!F2#,欠料计算!B2#,COUNTA,,0),2,0)
未完待续……