摘要:大家好,我是古老师,专注于PMC(生产计划与控制)领域的教学。今天我们要介绍的是PMC系列中的第17个表格模型——产能负荷计算模型03。此模型专门用于在生产计划中对订单的产能负荷进行计算,是针对昨天提到的第二个版本产能负荷模型的一次迭代升级,也是对该模型的最后
全文约1400字
大家好,我是古老师,专注于PMC(生产计划与控制)领域的教学。今天我们要介绍的是PMC系列中的第17个表格模型——产能负荷计算模型03。此模型专门用于在生产计划中对订单的产能负荷进行计算,是针对昨天提到的第二个版本产能负荷模型的一次迭代升级,也是对该模型的最后一次优化。
使用表格进行负荷计算仅是一个临时解决方案,而专业的产能负荷计算应依赖于先进的数字化系统,例如APS自动排程系统等。这次升级的核心在于改进产品编码与多设备之间对应关系的处理方式。具体来说,当一个产品编码(如SP-001)可以对应到多个生产设备(比如1号、2号、4号等),且不同设备的单位小时产量(UPH)效率存在差异时,如何自动准确地计算出相应的负荷成为关键。此次升级旨在解决这一问题,使得负荷计算更加精确高效。
首先对工作表1《UPH数据库》进行升级。由于不同的产品编码对应不同的设备,在录入这些关系时无法保证顺序一致,因此需要在旁边建立辅助列,并根据以下两个条件进行排序:
条件1:产品编码,按升序排列。
条件2:产品对应的UPH效率,按降序排列。
通过这种排序方式,可以动态显示不同产品编码在各个设备上的效率。当一个产品编码对应多个设备时,效率最高的设备将排在首位。这样做的目的是为了方便后续在MPS排程时引用,优先选择效率最高的设备进行排程。
录入区A列到C列分别对应以下内容:
A列:产品编码
B列:UPH(单位小时产量)
C列:对应线体设备号
然后在以下单元格中输入相应的公式:
F2=INDEX(SORT(WRAPROWS(TOCOL(A2:C3000,3),3),{1,2},{1,-1}),,1)
G2=INDEX(SORT(WRAPROWS(TOCOL(A2:C3000,3),3),{1,2},{1,-1}),,2)
H2=INDEX(SORT(WRAPROWS(TOCOL(A2:C3000,3),3),{1,2},{1,-1}),,3)
公式解释:
这些公式使用了SORT和WRAPROWS函数来整理数据,并根据指定的条件进行排序。
TOCOL(A2:C3000,3)将指定范围内的数据转换为单列,并忽略空值。
WRAPROWS(...,3)将单列数据重新组织成三列一组的形式。
以上两个函数的目的是为让范围内A2:C3000有数据录入的时候全自动转换;
SORT(...,{1,2},{1,-1})按照产品编码升序和UPH效率降序的方式对数据进行排序。
INDEX(...,,1)、INDEX(...,,2)、INDEX(...,,3)分别提取排序后的第一列(产品编码)、第二列(UPH)和第三列(设备号)。
这样处理后,可以在F列、G列和H列中得到经过排序的产品编码、UPH和对应的设备号,从而便于后续的生产计划与排程工作。
为了方便后续快速引用,我们将继续对F列到H列的数据进行一维数据转二维数据的转换。这一过程的核心目的是去除重复的产品编码,并将可用的线体设备去重后转换成水平方向显示,形成一个标准的二维矩阵。
具体步骤如下:
垂直方向:去除重复的产品编码
在J列中使用公式去除重复的产品编码:
J2 = UNIQUE(F2#)
这个公式会从F列中提取所有唯一的产品编码。
交错区域:生成每个产品编码对应的设备列表
在K列中使用公式筛选出符合产品编码的所有可用设备,并将其转换为水平方向显示:
K2=IFNA(DROP(REDUCE("",J2#,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(H2#,F2#=Y))))),1),"")
这个公式的作用是:
REDUCE函数遍历每个唯一的产品编码(J列中的值)。
对于每个产品编码,FILTER函数筛选出对应的设备号(H列中的值)。
TOROW函数将筛选出的设备号转换为行向量。
VSTACK函数将这些行向量堆叠在一起。
DROP函数去掉结果的第一行(初始值为空字符串的部分)。
IFNA函数处理可能的错误值,返回空字符串。
水平方向:生成列标头
在K1单元格中生成数字序列,以配合生成数组函数生成列标头:
K1 = SEQUENCE(, COLUMNS(K2#))
这个公式根据K2数组的列数生成相应的数字序列,作为列标头。
通过以上步骤,我们可以在J列中得到唯一的、去重后的所有产品编码,在K列中得到每个产品编码对应的设备列表,并且这些设备列表在水平方向上显示。这样处理后,形成了一个标准的二维矩阵,便于后续的生产计划与排程工作。
未完待续……
来源:古哥计划