复习一下,通过函数HSTACK合并了公式,再用LET定义了筛选后的区域,最后得到不用辅助列筛选不为0的MPS主生产计划一维表,公式自动生成这张表后,先把他放在1表待用。接下来就是MRP物料需求运算的基准。2表BOM物料清单。
运行MRP多阶需求的3张表分别如下图1所示:
图 1
BOM物料清单BOM这张表不同的ERP导出的格式可能都不一样,有些是可以分层,有些是不可以分层的,不管格式如何,只需要知道BOM的阶层是自上而下的展开就可以了。一般的产品可能就是3到5阶BOM,复杂的产品可能有上10阶。这里以电脑举例来理解多阶BOM。
1阶BOM(单阶BOM):
也称为一级BOM或直接BOM,它列出了构成某一装配件或产品的直接物料清单,不包括这些物料自身的组件。例如,对于一台电脑,1阶BOM可能列出的是CPU、内存条、硬盘等主要部件。
2阶BOM(多阶BOM):
又称二级或多级BOM,它不仅包含了一阶物料,还进一步分解了这些物料的组成。比如在上述电脑的例子中,2阶BOM会在1阶BOM的基础上继续拆解,展示CPU是如何由散热器、CPU本体等更底层的组件构成的,内存条是由内存颗粒和其他电路板组件组成,硬盘也同样被细化到其内部零件。
3阶BOM、4阶BOM...直至尾阶BOM:
每一阶BOM都会向下深入一层,直到不能再细分为止。尾阶BOM则是指最末端的物料清单,包含了所有无法再分解的基本元件或原材料,它们是BOM树状结构中的“叶子节点”。常见的原材料有塑胶原料、钢材、铝等;
效果如下图2所示:
图 2
整理BOM物料清单案例这里是某工厂导出的产品与零件的物料清单,只有对应的父件与子件,不存在BOM 层级。如果需要找层级的话,需要通过子件一阶一阶查找。而MRP物料需求运算的需求的就是按阶层运算。
因为WPS版本目前没有REDUCE,所以无法实现递归运算,为了后续方便按阶层自上而下的运算物料需求,提前把BOM加上辅助列。
图 3
上图3是一份标准父件对应子件BOM清单中因为BOM 数据太大,只截图了部分零件
辅助列的作用就是对父件进行序号编号后再连接父件,这样就可以实现父件唯一了,如A1、A2、A3……等。后续运算的话可以用XLOOKUP来匹配子件用量。
录入公式:=IF(D2<>D3,1,C2+1),向下填充;
函数释义:如果D2单元格的值与D3单元格的值不相等(父件与标题对比),则D2所在行的对应单元格将显示数值1; 如果D2和D3单元格的值相等(向下填充后,父件与父件就相同了),则D2所在行的对应单元格将显示C2单元格的值加1。这样利用相对应用就实现了编号;
特别注意:这里没有COUNTIFS 统计函数是因为在BOM物料清单中行数太多了,如果用这个公式:=COUNTIFS($D$3:D3,D3),是因为这个公式超过10000行后运算速度太低效,太慢了。
效果如下图4:
图 4
再增加一列,录入标题:“父件-序号”,并用文本连接符号与号“&”连接父件与序号,并向下填充
录入公式=D3&"-"&C3
这样父件的唯一序号就完成了,先放在这里待用。
特别提示:
在平常工作中,经常遇到数据一对多的情况,都可以用类似加编码的方法进行唯一值判定,这样只要数据双方都有唯一编号,就可以轻松实现一对多的查找。
效果如下图5所示:
图 5
资源数据MRP运算的过程需要考虑资源,也就是净需求,如果只是毛需求的,可以不放资源,为了让这张WPS的表格版本的MRP多阶运算尽量符合实际工作场景,加上资源,也就是库存以待用。
这里还是用最简表格来写函数,后续只需要了解古都的设计思路,都可以灵活更改。新建3表,命名页名为“3.库存”,录入物料的库存信息。
这样MRP运算的基准3表建立完成。也就是表1.MPS; 表2.BOM,表3.库存;接下来就可以一阶一阶开始运算设计了;
效果如下图6所示:
图 6
未完待续……
和古哥一起学习PMC生产计划运营,一辈子够不够?
关注古哥计划