大家都知道Excel中有两个替换函数,一个是SUBSTITUTE,还有一个是REPLACE,但是他们每次只能替换一个内容,如果我们有多个内容需要替换就要嵌套多层,那么有没有办法实现一次全部替换呢?
想要实现批量替换,就需要把上次替换后的结果作为下次替换的基础,说白了就是要循环起来
先来看看普通方法
普通方法
普通方法,使用SUBSTITUTE,每次只能替换一个内容,如果我们有多组就要嵌套多层,比如下面1236四个数字就要嵌套四层SUBSTITUTE函数,如果更多,是不是就直接搞晕了!
显然量大的情况下不推荐使用这种方法,但是少量也可以使用,毕竟这种方法最简单!
下面我们看看新函数如何处理,直接一次搞定!
新函数处理
=REDUCE(A1,D1:D10,LAMBDA(x,y,SUBSTITUTE(x,y,VLOOKUP(y,D:E,2,))))
公式要如何理解,首先初始值是A1单元格中的数字,我们要替换的内容也就是0-9,内容存放在D1:D10,,REDUCE函数的第二参数我们就使用这个区域,LAMBDA中,直接照抄就行,REDUCE会帮我们把每次处理后的结果作为下次需要替换的值,直到全部替换完成返回!
如果觉得上面的数字替换太简单,我们看一个群里中朋友替的实战案例看一下应用场景!
实战案例
根据“模版”,用模版中字段对应的内容替换掉模板中的字段,结果是参考答案!
你要怎么做,你可能想到了SUBSTITTUTE,但是真的太麻烦了,使用REDUCE函数,一次搞定!
是不是超级简洁,不管你有多少需要替换的,都可以使用下面的公式搞定!
只需要修改第一参数(初始值)和第二参数,需要替换的值,新的值在需要替换值的右侧!
=REDUCE($A$2,C3:C8,LAMBDA(x,y,SUBSTITUTE(x,y,OFFSET(y,,1))))
365版本中的这些新函数,解决了过去函数难以处理或者处理起来非常麻烦的困扰,现在我办公中一些少量的数据,365函数可以处理,我也懒得再去敲代码了,方便了很多!
联系客服