PMC表格模型49:全阶毛需求运算表-3

职场计划有古哥 2025-04-10 06:50:34

全文约600

大家好,我是古老师,今天分享第49个表格模型,全阶毛需求运算表模型的第3章,在昨天已经完成计算毛需求的关键报表之一《MPS 主生产计划》的标准化,今天开始设计《1 层需求运算表》的标准化。

未完待续……

零件用量

昨天已经把MPS二维输入通过动态数组公式全自动转成了MPS一维.输出。为了配合后续引用BOM物料清单中的子件明细,需要在这里引用BOM中所排产品的子件用量。

=XLOOKUP(C2#,BOM.输出!A2#,BOM.输出!D2#,"无BOM")

公式解释:

查询BOM表中的父件对应的子件零件数(一个父件是由几个子件组成),查找不到,就返回无BOM;

展开子件

接下来就需要对MPS一维报表中的排程明细展开了,例如产品A排程了300,需要去BOM表中查询产品A的的零件明细并自动堆叠在一起。此时可以配合筛选函数加REDUCE函数进行一键堆叠;

一层子件动态数组公式:

=DROP(REDUCE("",MPS一维.输出!C2#,LAMBDA(X,Y,VSTACK(X,FILTER(BOM.输出!B2#,BOM.输出!A2#=Y)))),1)

一层用量动态数组公式:

=DROP(REDUCE("",MPS一维.输出!C2#,LAMBDA(X,Y,VSTACK(X,FILTER(BOM.输出!C2#,BOM.输出!A2#=Y)))),1)*B2#

公式解释:筛选并堆叠MPS一维报表中的排程数量后引用对应的子件用量再乘以需求数量;

重复堆叠

在进行了MPS主计划中的产品子件展开并堆叠后,就可以对所排产品进行重复堆叠。原理是子件数量有几个就重复多少次。例如A产品有子件5个,就重复5行,同理可以重复数量,排程日期。

0层子件:

A2=LET(A,MPS一维.输出!C2#,B,MPS一维.输出!F2#,XLOOKUP(SEQUENCE(SUM(B)),SCAN(,B,SUM),A,,1))

0层数量:

B2=LET(A,MPS一维.输出!D2#,B,MPS一维.输出!F2#,XLOOKUP(SEQUENCE(SUM(B)),SCAN(,B,SUM),A,,1))

0层需求

C2=LET(A,MPS一维.输出!E2#,B,MPS一维.输出!F2#,XLOOKUP(SEQUENCE(SUM(B)),SCAN(,B,SUM),A,,1))

引用属性

在进行展开堆叠与重复堆叠后,为了进行下一层级的运算,需要引用BOM中的子件属性。录入公式:

F2=XLOOKUP(D2#,BOM.输出!B2#,BOM.输出!E2#)

未完待续……

0 阅读:0