​162 动态数组建模《多工序自动转换排程表》-02

接上文,已经设计好表1工艺流转卡,和表2生产计划待排程表,有了这两个表的输入,就可以设计表3的全自动输入了,设计表3的时候为了方便大家理解,设计为分步运算,这样就避免了公式太长看不明白步骤。

待排零件引用

表2中的待排订单池中有多少个零件,就需要返回多少个零件的工艺,此时自动分解的第一步就是把零件这一列全部引用过来。先录入标题“零件”,录入函数:

=FILTER('2.计划'!C3:C4000,'2.计划'!C3:C4000<>"")

函数的释义:在计划待排表中,只要录入范围不超过C4000,都可以一键引用过来。相当于筛选不为空

待排工序引用

待排的零件引用过来后,需要把待排的零件引用过来,也就是表1中的工艺,表1的工艺可以用XLOOKUP来引用,此时需要注意的是先提前把工艺名称复制过来,作为表头。然后录入公式:

=XLOOKUP(B3,'1.工艺'!B:B,'1.工艺'!C:K)

把零件的工艺路线引用过来,此公式是填充公式,需要转换成动态数组公式,录入函数:

=DROP(REDUCE("",B3#,LAMBDA(X,Y,VSTACK(X,XLOOKUP(Y,'1.工艺'!B:B,'1.工艺'!C:K)))),1)

这里注意观察填充公式与动态数组公式的不同写法。

相关数据补充

上面只有零件和对应工序,实际排程的时候,最关键的信息就是工单号,等一下展开的关键字段就是工单号,所以需要把工单也引用过来,引用的纬度,可以参考引用零件的维度,只要有这个唯一项,接下来就可以用这个唯一项,再次引用其它信息(任务数量、任务交期等)

录入公式:

=FILTER('2.计划'!B3:B4000,'2.计划'!C3:C4000<>"")

得到任务号的信息

再补充展开信息,展开的行数由工艺数据中包含“V”的数量来决定的,所以只需要统计“V” 的数量有多少个就可以了

录入函数:

=DROP(REDUCE("",C3#,LAMBDA(X,Y,VSTACK(X,COUNTIFS(XLOOKUP(Y,'1.工艺'!B:B,'1.工艺'!C:K),"V")))),1)

完成后效果如下图所示:

工单号分解

上图中的案例,只排了3张工单号,工艺数分别是5,6,6,加起来就是17行,所以就需要展开17行,录入辅助列1函数:

=SEQUENCE(SUM(D3#)),得到一个1,2,3……17,的数组,一共17行;

录入辅助列2函数:

=SCAN(0,D3#,LAMBDA(X,Y,X+Y))

得到一个零件工艺数累加的结果,5,11,17。效果如下图:

有了这两列辅助列,就可以利用XLOOKUP 的模糊查找来返回工单号了,录入函数:

=XLOOKUP(O3#,Q3#,B3#,,1),就可以得到工单号的重复展开数

公式合并后:

=XLOOKUP(SEQUENCE(SUM(D3#)),SCAN(0,D3#,LAMBDA(X,Y,X+Y)),B3#,,1)

效果如下图:

未完待续……

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

展开阅读全文

页面更新:2024-02-29

标签:数组   单号   建模   工序   零件   公式   函数   数量   工艺   计划   动态   信息   企业

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top