生产计划排程中需要根据条件指定复制数据?

日常工作中,经常需要条件指定复制数据,按照Excel的常规操作就是按复制再按粘贴,如果会快捷键的话,就是一遍一遍的按Ctrl C,Ctrl V 。如果复制的次数比较少,问题也不大 , 如果复制数据比较多的话,这样操作就比较麻烦了?
举例说明,下图中的生产任务需要下发给不同车间生产,因为工单量大,所以需要多车间多线体生产 , 此时排程就涉及到分配生产任务到不同的班组,因为系统的任务没有分拆,所以同一张生产任务存在着多班组 , 多车间生产 。手动复制太麻烦了,如果用公式实现下图效果应该如何操作呢?(为了方便操作,把源数据和复制数放在一张表上面了 。

生产计划排程中需要根据条件指定复制数据?

找到规律

根据上图的结果,如果需要设计公式的话,首先想到就是找到规律,并判断哪些条件是定量,哪些条件是变量,特别是变量,当变量发生的时候是否能够自动判断 。
变量1:表1中的源数据,也就是待复制区域,可能是4行,也可能是5行 。
变量2:复制次数,可能是3次,也可能是5次(3条线同时生产就是复制3次 , 4条件生产就是复制4次 。
定量1:表1源数据的列是固定的
定量2:当表1的源数据确定了行数后,内容就是固定的了,只需要不断的重复行和列就行了 。

动态判断源数据的行

动态判断行的方法就是用统计函数COUNTA,这个函数就是统计数据区域中非空单元格的个数 。
录入函数=COUNTA(B:B),得到结果:4行
【生产计划排程中需要根据条件指定复制数据?】有了行的话,需要再次判断复制次数后的总行数,录入计算式=C2*H2 , 得到数字12,有了这个数字就可以判断复制3次后的总行数是12 。
注意 , 这里是是没空行的,如果需要预留空行 , 就需要在上面的返回4行的结果中再加1,把函数变更成=COUNTA(B:B) 1,对应的总行数就是15 。
生产计划排程中需要根据条件指定复制数据?

生成重复的数字序号

复制的本质就是不断的重复1到5行,也就是需要生成一组数据如12345,12345,12345……的循环数,生成这样的数其实就是数学知识,只需要记住以下固定公式就可以了 。
录入函数:=MOD((SEQUENCE(D2))-1,C2) 1,为了方便理解,这里没有合并公式,如需要合并公式,可以更改为:
=MOD((SEQUENCE((COUNTA(B:B) 1)*I2))-1,COUNTA(B:B) 1) 1
因为列是固定的,所以只需要录入函数SEQUENCE(,4),就可以生成1,2,3,4的数据组 。
生产计划排程中需要根据条件指定复制数据?

INDEX返回对应的重复数据

有了上面的行号和列号 , 配合上INDEX函数引用就实现了标题中的根据条件指定复制数据的目的 。INDEX函数,第一参数就是源数据 , 需要绝对锁定,第二参数是是行参数,第三参数是列参数,所以录入以下函数:
=INDEX($B$3:$E$21,MOD((SEQUENCE((COUNTA(B:B) 1)*I2))-1,COUNTA(B:B) 1) 1,SEQUENCE(,4))
就自动重复了数据了 。
因为复制源数据的行是变量,所以INDEX的第一参数的范围可以拉大一点 , 这就就相当于变量当定量了 。
生产计划排程中需要根据条件指定复制数据?

测试一下复制多次

验证公式的最佳方法就是更改变量,看一下是否能够返回正确的结果 。把数据更改一下,复制10次,效果如下图所示:
可以看到 , 已经达到想要的结果了 。公式没有问题,建模完成 。
生产计划排程中需要根据条件指定复制数据?

生产计划排程中需要根据条件指定复制数据?



我是古哥:
从事制造行业18年 , 在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验 。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范 , 企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验 。学习PMC生产计划,关注古哥计划!

相关经验推荐