一键追欠料!WPS表格实战MRP欠料计算-2
昨天第1章中,已经对整体表格系统做了架构说明,从设计思路到到具体的功能,以及需要准备的最基本资料:物料清单、主生产计划、库存明细表等,今天的第2章中就开始具体的设计了。
物料清单
工作表设置:分别新建两个工作表:
工作表1:BOM输入:设置最简字段 (父件编码、 子件编码 、 用量 、 子件属性)
工作表2:BOM输出:预置300,000行动态扩展区域,录入动态数组公式:=TRIMRANGE(BOM输入!A2:A300000),向右拖拽至D列,自动裁剪(动态扩展)并同步原始数据。
产品统计
新建一张工作表,并命名为SKU数输出,用于统计物料清单建立好的数量,当前BOM物料清单的数据行数为8252行;通过聚合函数快速判断有多少个产品,每个产品有多少个零件,B2录入动态数组公式:
B2=GROUPBY(BOM输出!A2#,BOM输出!A2#,COUNTA,,0)
有了上面的动态数组后,就可以根据这个数组的行数判断具体有多少个SKU数,可以用判断行数函数ROWS和生产数字函数SEQUENCE来判断,A2录入:=SEQUENCE(ROWS(B2#)),同时D2这边录入:=IF(A2#>0,"成品"),就可以返回对应的父件属性:
效果如下图所示:
库存明细
继续新建两张工作表,并命名为库存表输入与库存表出,库存表这里同样用最简字段设计,分别录入:子件编码、库存数量、存储仓位、是否参与运算这几个字段标题;同时用裁剪函数:
A2=TRIMRANGE(库存输入!A2:A300000),填充到D2单元格。
因为子件存放在仓库的话,可能会保存在不的同仓位,这里需要增加一个列人工判断,是否参与运算,如果参与运算就填写是,不参与运算填写否;
库存汇总
库存汇总的设计思路与SKU产数统计的思路差不多,用于统计目前仓库有库存数量的编码数有多少?总库存是多少?参与运算的库存有多少?存放的仓位有多少?
=GROUPBY(库存输出!A2#,库存输出!B2#,SUM,,0,,库存输出!D2#="是")
这个公式是把参与运算的库存汇总在一起(占用2列)
接下来就是汇总总库存数量和统计存放的仓位数量,录入动态数组公式:D2=DROP(GROUPBY(库存输出!A2#,库存输出!B2#,HSTACK(SUM,COUNTA),,0),1,1)
这样就可以清楚的知道子件编码的三个状态:总数量、参与运算量、存放仓储位置了;
最后就是把存储多仓位的仓位名称显示出来,同样用聚合函数进行快速合并汇总到一个单元格上面,录入聚合函数:
F2=DROP(GROUPBY(库存输出!A2#,库存输出!C2#,ARRAYTOTEXT,,0),,1)
快速合并,效果如下图所示:
未完待续……