多对多超级替换函数-REPLACEBS

上次分享SUBSTITUTE函数,有部分同学反馈不够用,想实现多对多替换,或者类似于SUMIFS等函数可以多条件处理的!所以我想了一下,其实也挺简单
于是就写了一下!我们一起来看一下吧!
SUBSTITUTE常规写法
需求说明:将"【】”替换成“[]”
▼常规写法
=SUBSTITUTE(SUBSTITUTE(A3,"【","["),"】","]")
SUBSTITUTE是最常用的替换函数,非常的方便,但是缺陷也很明显,就是每次只能替换一组,如果要替换多组就需要多层嵌套!
所以我增强了一下他的功能!
REPLACEBS增强写法
▼自定义函数增强写法
=REPLACEBS(A3,"【","[","】","]")
相对于SUBSTITUTE写法,我们不用再去一层一层嵌套,尤其条件特别多的情况下,效果将非常明显!算是增强了一些!
但是这个函数,显然还是有一定的缺陷,每组都要写,如果我们需要多对一替换,有点麻烦了!或者我们需要替换的多组条件已经在单元格中一一对应列好了,好像就不方便了~!
比如我们下面这个案例,需要把所有小写的年级全部替换成大写
我们稍微改了一下,现在支持单元格区域的映射表了!
支持单元格区域映射表
▼进一步增强,更加实用!
=REPLACEBS(A2,$E$2:$E$7,$F$2:$F$7)
当你需要替换的东西特别多的情况下,一对一对的写太麻烦了,所以稍微改写了一下,现在你可以选择对应的准备好的替换映射表,第二参数是需要替换的内容,第三参数是新内容!
但是这仅仅是他功能的一个方面!实际我们可能需要把多个内容替换成空!
批量删除各种字符
第三参数不写相当于批量删除第二参数指定的字符
=REPLACEBS(A2,{" ","-","|",","})
这应该也是比较常见的需求,所以代码中也考虑了一下!大家还可以根据需要扩展!
如果写了第三参数或者我们先替换成固定的一个内容如何处理!
批量替换成特定的字符
第二参数指定的全部字符替换成第三参数字符
=REPLACEBS(A2,{" ","-","|",","},"/")
以上应该可以满足大家的常见的一些批量替换需求了!下面是源码截图,懂VBA的同学,可以看一些自己写应该问题不大!其他同学,请下载对应的附件制作成加载宏使用!
因为是自定义,所以大家拿到文件后,有基础的同学可以继续根据需求进一步的扩展!
超级替换函数:REPLACEBS ,Excel文件下载
(0)

相关推荐