打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
93 Excel中按需求自动复制指定内容 (EXPAND、REDUCE LAMBDA)

生产计划在排程中有可能会遇到一个特别大的工单,排程的时候可能需要分拆给很多的线体,此时要么在ERP系统中把这个工单分拆,要么在线外手动分拆,ERP不分拆,也就是多条线体生产同一张工单;如一张10000的工单,分成5张,工单号一样;

此时就涉及到分拆的问题,其实分拆的难点在于按照指定需求分,分一张工单就需要重复一次,分多张就需要重复多次,类似下图:

手动录入肯定是比较慢的,如果能够用公式自动重复就非常高效了,在学习重复工单前,先学习几个关于重复的函数;

REPT

REPT这个函数比较简单,就是把将文本重复一定次数,并在一个单元格内显示,参数为:REPT(text,number_times)。这个函数优点就是简单,重复几次就录入数字就可以了,缺点就是在一个单元格内不好分拆;

EXPAND

EXPAND,这个函数是365新增函数,函数简单好学,参数是:扩张(排列,行,[列],[pad_with]),如果不理解,参考以下图片,多录入几次就明白了;

录入函数:=EXPAND(A2,,B2,A2),就可以得到分拆后重复的工单号了;函数说明:第1个参数A2是工单号,第2个参数没录入是按行填充,第3个参数B2是填充3列,第4个参数为填充内容A2工单号

此时如果想转换成列方向的话,就需要用到EXPAND列参数,因为列参数是向下的,所以无法填充公式,需要想其他办法了。

还是原来的列显示方向,我们用文本合并再分开的思路就可以把刚刚的数据转成列(垂直)显示方向,录入函数:

=TEXTSPLIT(TEXTJOIN(';',,D2:I5),,';'),结果如下图所示

REDUCE+ LAMBDA

上面的方法,还是不能实现一个公式填充完成,所以又要请出万能的自定义函数组合“REDUCE+LAMBDA”了,用这两个函数可以实现一键填充;

我们录入公式:

=REDUCE('工单号',A2:A5,LAMBDA(x,y,VSTACK(x,EXPAND(y,B2:B5,,y))))

为了下次能够快速录入,创建一个自定义函数,这个自定义函数最好全程用中文来写。创建一个名称:引用位置录入=LAMBDA(区域,重复区域,REDUCE('工单号',区域,LAMBDA(x,y,VSTACK(x,EXPAND(y,重复区域,,y)))));确定后,一个以重复命名的自定义函数建立好了;

此时录入重复就可以看到对应的参数,有两个,也就是LAMBDA函数定义的区域和重复区域两个参数;

快速自定义

用“REDUCE+LAMBDA”创建的自定义函数最不好的就是换个Excel就不能用了,只能在当前定义好名称的才能用,所以我们需要用输入法来保存;

打开输入法的自定义短语,设一个自定义短语“cf”,替代刚才的很长的“自定义函数”,输入法位置选择2,不选择1的话,是因为1是常用字;保存确定完成;

此时我们新建一个Excel工作表,按Ctrl+F3,快速的把这个自定义函数录入进去,只需要录入 “cf”就完成了长公式录入

测试一下是否成功,录入新函数:=cf(B3,A3),完成,理论上可以通过定义输入法完成非常多的自定义函数;方便大家高效办公;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel数组如何裁剪扩展?公式也能编程?
67这才是Excel有史以来最复杂也是最强大的函数,没有之一!
Python:lambda表达式的两种应用场景
Python 基础(九):函数
【REDUCE】迭代器函数,像循环一样运行!
Excel中如何实现批量替换?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服