312MRP多阶需求运算报表-WPS表格版本(08)

职场计划有古哥 2024-02-27 08:00:51

在完成1阶的毛需求后,就需要对库存进行扣减,计算出这一阶层的真实需求,在计算前先把下图1的数据进行整理一下。

图 1

对1阶子件排序

MP3的排程中,如果子件相同的话,就需要把子件排序,也需要把父件的需求日期排序,通俗的理解就是排程在前面的优先扣减库存(资源)。这里用排序函数进行两次排序,第一次对日期进行排序,第二次对子件进行排序。

录入动态数组公式:

=SORT(SORT(M3:R63,6,1),3,1)

再用选择列函数分别把这个区域的排序结果转换成一列一列的动态数组公式,这样后续引用库存的时候就可以用#号的引用方式来引用了。

录入分列动态数组公式:

=CHOOSECOLS(SORT(SORT($M$3:$R$63,6,1),3,1),COLUMN(A1))

函数释义:

通过COLUMN(A1)向右填充,得到数字1,2,3,4,5,配合选择列函数CHOOSECOLS,返回第1列,第2列……

效果如下图2所示:

图 2

计算1阶需求

计算1阶需求,需要提前把库存引用过来,增加一列库存,把子件的库存用引用函数引用过来。录入动态数组公式:

=XLOOKUP(V3#,'3.库存'!B:B,'3.库存'!C:C,0)

函数释义:

子件的库存引用过来,如果引用是错误的,代表没有库存,用XLOOKUP第3参数0来替代。

效果如下图3所示:

图 3

有了库存之后就是用库存减去子件需求,这里提前把子件需求进行多条件求和后,再用库存减。录入公式并向下填充:

AA3=Z3-SUMIFS($X$3:X3,$V$3:V3,V3)

函数释义:

通过锁定第一个子件料号来多条件求和,形成一个累计子件需求求和的效果,这样就表示50-200,-150,第二行,50-600,-550……

效果如下图4所示:

图 4

有了这个辅助判断后,再进行子件需求的判断,如果是-150,代表需求要150,如果是正数的话,代表需求够,不需要生产。通过观察,可以发现,只需要用辅助判断的绝对值和子件需求进行对比,就可快速得到子件需求。

例如:-150 的绝对值 150,与子件需求200对比,150>200,条件成立,返回200,否则返回辅助判断的负值(--150,也就是150)。

此时可以录入公式:

=IF(AA3>=0,0,IF(ABS(AA3)>X3,X3,-AA3)),向下填充

得到下图5的结果。

图 5

上图就是通过MPS对应BOM分解后的1阶需求。

1阶需求整理

此时的1阶需求是一维报表,中间有子件需求为0的需要筛选去除,所以还需要整理一下。

子件录入动态数组公式:

=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),1)

子件需求:

=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),7)

子件日期 :

=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),4)-1

这里减去1天代表1阶子件的需求要比0阶的成品要提前一天

完成后效果如下图6所示:

图 6

整理完后1阶子件的一维报表与0阶MPS的父件一维报表格式是一样的,也就是意味着2阶,3阶……只需要不断重复就可以最终计算出所有子件的需求了。

1阶转换二维报表

实际工作中看一维报表太长了,所有可能还需要把一维转二维,这里建模的时候,还是把二维数据同时放在边上方便查看。

子件录入动态数组公式:

=UNIQUE(AD3#)

日期录入动态数组公式:

=TOROW(SORT(UNIQUE(AF3#)))

函数释义:

日期去除重复项后,进行排序,再进行转置。

汇总求和录入动态数组公式:

=SUMIFS(AE:AE,AD:AD,AH3#,AF:AF,AI2#)

注意上面3个公式都是动态数组公式,无需填充公式

完成后的效果如下图:

图 7

如果产品的物料清单只有1阶的话,到这里就结束了。但是实际的情况肯定不只1阶,需要如何处理呢?

0 阅读:0

职场计划有古哥

简介:感谢大家的关注