摘要:大家好,我是古老师。今天继续设计PMC生产计划自动排程全动态数组的表格第8章,在第7章中完成了MPS主生产计划自动排程第2个IF判断中的逻辑:“IF((A)*(G
全文约800字
大家好,我是古老师。今天继续设计PMC生产计划自动排程全动态数组的表格第8章,在第7章中完成了MPS主生产计划自动排程第2个IF判断中的逻辑:“IF((A)*(G
“IF((H>C)*(B),H-C,Q/24)”
这次判断的逻辑方向为1天内需要完成多张订单的情况,也就是一张订单按标准工时生产完成后,还有产能生产别的订单的情况。
为了公式不用多次引用,这里对需要多次引用的数据进行名称定义,定义如下:
I2#:开工加累计用时
A:G>=C,对应公式=G4#>=J14#
Y:用时(小时),对应E4#
G:无限-预计开工,对应G4#
H:无限-预计完工,对应H4#
D:第2天累计时间,对应=DROP(I2#,,1)
C:第1天累计时间,对应=DROP(I2#,,-1)
第一个判断条件就是无限-预计完工大于第1天累计时间,并且和无限-预计完工小于第2天累计时间进行逻辑上的并判断,此处继续用运算符号乘号判断。得到一组逻辑值。
当上面两个条件同时满足的情况下,就返回真,也就是无限-预计完工减去第1天累计时间,这样就得到了当天完成第一张订单后剩下的天数。
有了这个天数后,再乘以24后乘以UPH小时产量,就得到具体的数量,配合第1次判断及第2次判断,这样把不同订单的数量约束一个一个进行约束筛选。最后形成自动排程。
最后就是合并这三天的判断一起来分析:
“IF(A*B,Y/24,IF(A*(GC)*B,H-C,Q/24)))*24*U”
这个公式可以简单的理解为:
第1次判断:如果订单在当天完成,则直接用用时乘以UPH,如订单只需要2小时完成,就直接返回2*300,返回600
第2次判断:如果订单超过一天或者等于1天才能完成,则直接用当天的工时乘以UPH,如订单需要10小时完成,则直接10*300,返回3000;
第3次判断:当果当天不能完成,就用剩下的时间乘以UPH,如订单1用了2小时,剩下的订单需要6小时完成,则6*300,返回3000;
这样就基本完成了全自动数组的判断公式了,最后只需要屏蔽空值了,也就是这个逻辑“(H=D),""”,和小数取整ROUND了。
未完待续……
来源:古哥计划一点号