全文约600

大家好,我是古老师,今天分享第52个表格模型,全阶毛需求运算表模型的第6章,在昨天已经完成1层到2层的子件总需求明细表和2层到3层的子件需求明细表,如果BOM物料清单的层级比较多,也没有更好的方法,也就是继续按照这个逻辑用公式一层一层的分解下去。一直分别了子件中的子件属性没有为“自制件”的子件后就算分解完成。

在合并各层级的采购需求前,需要增加一列辅助列判断这些子件的需求来源层级。用IF函数来判断,如是果0层分解出来的采购需求,来源层级就是0,如果是1层分解出来的,就是1,公式参考如下:
=IF(D2#<>"",0)
=IF(D2#<>"",1)
=IF(D2#<>"",2)
如果还有层数,公式返回的数字继续增加即可;

接下来就是把不同层级的需求全部合并在一个工作表,新建一个工作表,并合并为“采购需求合并”,此时不同层级的子件需求表单结构是一致的,所以可以用VSTACK函数进行多表合并。
=VSTACK(TRIMRANGE('1层采购.输出'!A2:E30000),TRIMRANGE('2层采购.输出'!A2:E30000),TRIMRANGE('3层采购.输出'!A2:E30000))
这里预留了30000行左右的扩展,如果分解的子件超出这个范围,可以继续增加行数;

合并后就可以进行采购需求汇总,汇总分为一维汇总和二维汇总,一维汇总把相同子件的需求全部汇总到一块,相当于看总需求。二维是以子件加需求日期进行的二维显示。
在进行一维采购汇总前先把合并的采购需求区域分开,录入公式:
=INDEX(VSTACK(TRIMRANGE('1层采购.输出'!A2:E30000),TRIMRANGE('2层采购.输出'!A2:E30000),TRIMRANGE('3层采购.输出'!A2:E30000)),,1)
其他列的公式一样,把列号分别更改为数字2、3、4……就可以了;

新建一个工作表,并命名为:“采购汇总,输出”,然后录入公式:
=GROUPBY(采购合并.输出!A2#,采购合并.输出!B2#,SUM,,,-2)
这样就把采购合并的需求汇总求和了,并通过参数-2进行了降序排序。效果如下图所示:

二维汇总就是把子件与需求日期进行汇总,也可以子件和需求层级进行显示。
=PIVOTBY(采购合并.输出!A2#,采购合并.输出!D2#,采购合并.输出!B2#,SUM)

也可以按子件需求的层级进行二维显示,这样当出现瓶颈的时候,可以进行判断是优先供应哪个层级,也可以知道同一个零件具体在哪一个层级上使用。
=PIVOTBY(采购合并.输出!A2#,采购合并.输出!E2#,采购合并.输出!B2#,SUM)

未完待续……