接上文中说到,已经实现了根据BOM物料清单和排程表全自动分解出物料需求了,到这一步了,接下来的两个需求就相对比较容易满足了。一个需求就是子件物料汇总需求,剩下一个就是线体、对应白晚班、对应日期的物料需求。
(资料图)
第一步先把订单用量和子件用量相乘,就得到了子件的订单用量明细。录入函数=S2#*V2#,这里发现引用公式中都带了“#”号,这是动态数组的标志,优势就是实现了动态串联。
对于公式生成的标准一维数据表,最快的方式就是透视表,通过透视表可以非常直观的实现上面的二个需求,但是今天需要讲的是全自动的公式版本。所以还是用函数继续写。为了方便演示,都放在一张工作页上。
数组透视的结果:
理论上来说,只要透视能够显示出的效果,用函数公式都可以,观察上图,就是一个标准的二维数据。录入以下公式:
=UNIQUE(T2#),子件编码去重;
=XLOOKUP(Z2#,T2#,U2#),通过子件编码引用子件名称;
=TOROW(UNIQUE(N2#)),日期去重;
=SUMIFS(W2#,T2#,Z2#,N2#,AB1#),根据子件编码与日期汇总子件需求;
可以看到上面的公式都非常简洁,在一次说明了动态数组在Excel公式中“建模”的优势;
第一个需求已经实现,再在还需要按日期、编码、班次明细再汇总,通过条件梳理,发现这里面有三个需求,而二维需求汇总只支持二个条件,我们需要把这里面三个条件并成二个条件。
这里选择用“日期+班次”并在一起作为新的一维条件,和子件编码配合形成新的二维数组引用。录入函数:
=TEXT(N2#,"M/D")&"."&O2#,不如TEXT直接连的话,格式就会变成D“45120.ODM5白”这样,而不是标准的“7-14.ODM5白”
再次录入以下函数:
=UNIQUE(T2#),子件编码去重;
=XLOOKUP(AG2#,T2#,U2#),引用子件名称
=TOROW(UNIQUE(X2#)),日期+班次合并后去重
=SUMIFS(W2#,T2#,AG2#,X2#,AI1#),根据新的二维汇总子件需求;
到了这里,一个《排程物料需求MRP运算全自动报表》就设计完成了;本表实现了自动需求更新
1.BOM变化,需求变化;
2.排程变化,需求变化;
3.一键展开需求,一键需求计算;
4.多维度查询,按子件、按班次、按日期等;
5.设计完成后,全程不需要再次填充公式,可以根据变量的范围自动计算。
上图中就是全部数组公式,实现了一键同步。
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
标签: