咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

日常工作中,经常需要条件指定复制数据,按照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生产计划,关注古哥计划!