掌握wps Excel新公式! 告别传统查找替换 SUBSTITUTE函数使用技巧
脚本之家
在数字化时代,学习新技术、新方法已经成为每个职场人士的必修课。最近,随着Excel高级功能的更新,不少用户发现自己的传统操作方式已显得越来越落后。最近一则关于Excel高级替换功能的讨论引起了许多人的关注,它不仅让数据处理变得更加简单,也为高效工作提供了全新思路。
传统操作的局限性
许多人习惯于使用Ctrl+H进行传统查找和替换操作,比如将内容中的空格、‘MM’、‘X’等字符逐个替换。这样的处理方式虽然有效,但需要多次手动操作,并且在面对复杂的数据时,繁琐的步骤往往让人感到无从下手。这也是不少Excel用户在面对数据整理时遇到的共同困扰。
问题,要将内容里面的数字提取出来,并用*作为分隔符号连接起来。
内容比较有规律,并不难,跟来看看。
传统的思维,将空格替换掉,再将MM替换掉,最后将X替换成*,也就是3次替换。可以直接用Ctrl+H替换,也可以用3个SUBSTITUTE函数。
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"X","*"),"MM",)," ",)
最新版本,有一个高级替换函数SUBSTITUTES,可以一次性将字符全替换掉。
=SUBSTITUTES(A2,{" ","MM","X"},{"","","*"})
2个替换函数语法几乎一样,唯一差别就是带S支持常量数组,能一次替换多个。
语法:
=SUBSTITUTES(内容,{"旧字符1","旧字符2","旧字符3"},{"新字符1","新字符2","新字符3"})
当然,还可以借助高版本的TEXTJOIN+REGEXP,这种就是通用的,不管里面混合着什么无关的字符,都可以搞定。
REGEXP将第2参数设置为[0-9]+,就是将所有数字提取出来。=REGEXP(A2,"[0-9]+")
现在新增一些无关的字符,也不影响结果,比替换函数更智能。
而TEXTJOIN就可以按分隔符号合并数字,组合起来就可以。
=TEXTJOIN("*",1,REGEXP(A2,"[0-9]+"))
假如现在是要获取数字相乘的结果,而不是表达式。
用REGEXP提取出来的数字是文本格式,需要用--转换成数值格式。
而PRODUCT就是获取数字乘积的结果。同理,有的时候需要数字之和,就换成SUM即可。
=PRODUCT(--REGEXP(A2,"[0-9]+"))
有条件的话,都安装最新版本,这样写起公式更简单,更智能。