全文约1751字
通过昨天的分享,我们探讨了利用Excel或WPS表格中的动态数组公式优化无限产能排程,特别是订单动态变化的情况。引入订单顺序约束与生产线匹配约束,并通过APS软件中的约束理论来管理。建立标准化工艺数据库,使用二维转一维数据提升处理速度和计划灵活性,运用LET、TAKE等函数创建自动化报表。这减少了手动工作量,提升了计划灵活性和响应速度,对提高效率和降低成本有重要意义。
今天我们继续这一设计,研究讨论如何利用排序函数SORT实现简单的排程约束。
基础信息设计基础信息设计如下:
要利用SORT排序函数自动编制无限产能的MPS计划,首先需要对原有的订单明细表进行一些修改。最为关键的是增加一列用于手动输入优先级的字段,以此来控制生产线的生产顺序,例如可以输入数字1、2、3等作为优先级。其他列的标题从A1到E1分别为:“排产线体”、“排程顺序”、“产品”、“未完成数量”和“UHP”,并在其下方填充相应的具体内容。
这里只保留了MPS生产计划的基本信息列,如果后续需要添加订单的其他信息,可以继续增加更多的列。
排序约束条件这里设计应用的基本排序约束条件有两个:一是线体,二是手动排程顺序。这意味着相同线体的订单会被归类在一起,之后可通过手动调整它们的生产顺序。设计这种排序方式的原因在于,订单的实际下达顺序往往无法按照PMC期望的生产线体进行统一。
在适当的位置录入以下公式:
=SORT(TAKE(A2:E1500, COUNTA(A2:A1500)), {1, 2})
公式解释:
TAKE(A2:E1500, COUNTA(A2:A1500)):TAKE 函数用于从给定的数组或范围中提取一部分数据。这里的 A2:E1500 指定了数据的范围是从A2单元格到E1500单元格。COUNTA(A2:A1500) 计算A列中非空单元格的数量,用来确定实际需要提取多少行数据。因此,TAKE 函数在这里的作用是获取A2到E1500之间实际有数据的行数。
{1, 2}:这部分指定了排序的列号。第一个数字1表示第一列(假设是排产线体),第二个数字2表示第二列(假设是排程顺序)。排序会首先按照第一列的值进行排序,如果有相同的值,则按照第二列的值进行排序。
SORT:这是排序函数本身,它接收前面TAKE函数的结果作为数据源,并根据 {1, 2} 指定的列号进行排序。如果没有特别指定排序方式(升序或降序),则默认按照升序(ascending order)进行排序。
综合起来,这个公式的意思就是:从A2到E1500的实际有数据的行中,根据第一列(排产线体)和第二列(排程顺序)的值进行升序排序。这样的操作可以帮助用户根据生产线和手动设定的排程顺序来整理订单数据,使得生产计划更加有序。
计算开工完工在计算开工和完工时间之前,需先将上述多列多行的动态数组通过 INDEX 函数转换为单列多行的数组区域。转换为动态数组区域后,通过产品引用标准工时(UPH)计算出每个任务的用时。有了用时,就可以确定预计开工时间和预计完工时间。在合适的区域录入以下公式:
排产线体=INDEX(SORT(TAKE(A2:E1500,COUNTA(A2:A1500)),{1,2}),,1)
排程顺序=INDEX(SORT(TAKE(A2:E1500,COUNTA(A2:A1500)),{1,2}),,2)
产品=INDEX(SORT(TAKE(A2:E1500,COUNTA(A2:A1500)),{1,2}),,3)
未完成数=INDEX(SORT(TAKE(A2:E1500,COUNTA(A2:A1500)),{1,2}),,4)
用时=L2#/XLOOKUP(K2#,'1.标工'!Z:Z,'1.标工'!AB:AB)
开工=LET(线体,I2#,开工时间,R2,SCAN(0,线体,LAMBDA(x,y,IF(y=OFFSET(y,-1,),x+OFFSET(y,-1,4),开工时间))))
完工:=LET(线体,I2#,开工时间,R2,开工时间+SCAN(0,线体,LAMBDA(X,Y,LET(A,OFFSET(Y,,4),IF(Y=OFFSET(Y,-1,),X+A,A)))))
以上公式的解释已经在前两天给出,这里不再重复解释,如有疑问,请查阅之前的资料。
如何调整订单到了上一步,一个基于手动调整的自动无限产能编制计划已经基本设计完成。PMC计划员只需调整线体的对应顺序即可更改生产优先级。例如,如果1#线体原来排在第4位,现在需要将其排到第2位,而原来1#线体的生产任务顺序为1、2、3、4,此时可以将第4位的顺序号改为1.1,这样它就会被排到第2位(顺序变为1、1.1、2、3)。
效果如下图所示:
今日技术总结通过这两天的分享,我们探讨了如何利用Excel或WPS表格中的动态数组公式来优化无限产能排程,特别是在应对订单动态变化的情况下。我们引入了订单顺序约束与生产线匹配约束的概念,并通过APS软件中的约束理论来有效管理这些问题。通过建立标准化的工艺数据库,并使用二维转一维数据的方式提升了数据处理速度和计划的灵活性。我们还使用了LET、TAKE等函数来创建自动化报表,这些报表能根据数据的变化自动扩展,极大地简化了PMC计划员在制定生产计划时的数据引用工作。
今天,我们进一步探讨了如何利用排序函数SORT实现简单的排程约束。通过对原有订单明细表进行必要的修改,增加了一列用于手动输入优先级的字段,以此来控制生产线的生产顺序。我们还介绍了具体的排序公式,并解释了其工作原理。通过将多列多行的动态数组转换为单列多行的数组区域,并计算出每个任务的用时,最终确定了预计的开工和完工时间。
这一系列的设计和方法不仅减轻了手动更新的工作负担,提高了生产计划的灵活性和响应速度,还确保了计划制定过程中遵循既定的规则和限制。这对于提高生产效率、降低成本及增强企业的市场竞争力具有重要意义。