生产计划中排程是的格式一般情况下有两种,一种是一维的排程,一种是二维的排程,一维的排程是把数据字段都放在列(垂直方向)显示,二维的排程,是把日期放在行(水平方向显示),其他字段放在列方向。古老师个人喜欢用二维排程进行生产计划排程。
有时候在进行指派生产任务需要分别打印不同日期的生产工单的时候,一维排程又比较好用了,所以无论是一维排程还是二维排程,都需要会制作。本质上两个排程是通用的。今天分享如何对二维排程的计划自动转成一维排程;
通过对二维排程与一维排程的比对,我们发现本质上还是字段上面的“重复”,如工单1,如果排程上需要2天完成,就是需要把工单重复两次,日期分别对应1月1日和1月2日;因为日期这是“变量”,无法判断排程是一天完成还是二天完成,或者是多天完成,这里只能取“极值”判断,也是最大值,有多少天就是工单号就是需要重复多少次。
所以我们手动录入一下,就会发现其实是有规律的,工单是按数字顺序“1111、2222,……”来循环的,出现多少个1就是有多少张工单,这里是4张工单,所以出现4次,同理这边日期这里是数字“1234、1234,……”的循环,最大数字是几就是最大排程日期,如这里是4,就代表最多连续排程4天。
知道这个规律后,就相对简单了,我们只需要有一个函数能够生成类似的数字循环就可以快速的把二维排程转成一维排程了,因为这些规律的数字可以做为函数INDEX的行参数来引用数据;
工单是数字顺序“1111、2222”的公式:=INT((ROW(A1)-1)/4+1),这个公式可以强记,任意单元格向下录入都会生成类似“1111、2222”的数字循环,如果要增加数字变成“11111,22222”,只需要把除数4更改成5就可以了;
日期这里是数字“1234、1234,……”循环录入公式:=MOD(ROW(A1)-1,4)+1,下拉填充就可以了,这两个公式非常重要,请大家一定要强记下来,有了这两个公式,就可以嵌套INDEX函数了;
把标题录入好,分别录入“工单、日期”,录入以下函数:
G2 =INDEX($A$2:$A$5,INT((ROW(A1)-1)/4+1))
H2 =INDEX($B$1:$E$1,MOD(ROW(A1)-1,4)+1)
下拉填充就得到下图结果,最后只需要把数量引用过来就可以了;
对于引用二维排程中的数量,可以用INDEX+MATCH的经典组合,通过判断工单和日期分别对应二维排程中的位置,再次通过嵌套INDEX函数来判断;工单判断行的位置、日期判断列的位置;录入以下公式:
I2=MATCH(G2,$A$2:$A$5,0)
J2=MATCH(H2,$B$1:$E$1,0)
K2=INDEX($B$2:$E$5,I2,J2)
完全公式:=INDEX($B$2:$E$5, MATCH(G2,$A$2:$A$5,0), MATCH(H2,$B$1:$E$1,0))
到了这一步,就差最后一步了,把没有排程的,也就是数量为0的去掉,我们可以通过FILTER函数来筛选,录入函数:
=FILTER(G1:K17,K1:K170),就完成了排程转换的建模。
最终效果如下:
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
领取专属 10元无门槛券
私享最新 技术干货