PMC生产计划自动排程全动态数组设计-6
优秀创作者
全文约700字
大家好,我是古老师。今天继续设计PMC生产计划自动排程全动态数组的表格第6章,在第5章中完成了MPS主生产计划的时间方面的辅助设计,今天的设计目标就是MPS主生计划表自动排程第1个IF判断中的逻辑:“IF((A)*(B),Y/24”
本次思路总结
为了拆解这个复杂的公式的第一次IF判断的逻辑,先分别把各自的名称进行分步运算,这里古老师用的是简单的字母来表示,实际效果会比较混乱,后续还是尽量用容易识别的英文来代表各自的名称比较好。
定义对应名称
为了公式不用多次引用,这里对需要多次引用的数据进行名称定义,定义如下:
I2#:开工加累计用时
Y:用时(小时),对应E4#
G:无限-预计开工,对应G4#
H:无限-预计完工,对应H4#
D:第2天累计时间,对应=DROP(I2#,,1)
C:第1天累计时间,对应=DROP(I2#,,-1)
定义名称A和B
分别定义名称A和B对应的条件为如下:
名称A:G>=C,对应公式=G4#>=J14#
条件:无限-预计开工大于等于第1天累计时间,返回一组逻辑值
名称B:H<D,对应公式=H4#<J13#
条件:无限-预计完工小于第2天累计时间,返回一组逻辑值
效果如下图所示:
第一次判断条件
自动排程的核心就是根据这些开工时间与累计开工时间不断的反复判断,这里解释第一次判断
名称公式:IF((A)*(B),Y/24)
解释:如果名称A乘B,这组逻辑值的结果为真的话,用订单的用时(小时)除以24,这一步转成订单用时需要多少天,最后乘以24,再乘以标准工时(U),就得到自动排程的第1组判断逻辑,下图中标记红色字体的数量1000,800
这个判断逻辑是什么意思呢?如果当天可以完成的,就全部在第1天完成。因为是用无限开大于等于第1天累计,并且小于第2天累计,这个区间的一定是可以在当天完成的。