在Excel里,如果一个字符串里有分隔符,分隔为若干段,如何要取得最右端的字串?
例如,单元格A2里的内容是: D:\!!MyWork\个人资料\咨询记录\王先生-2020-6-30.txt
在上面的例子里,要识别最右边的分隔符"\",把 "王先生-2020-6-30.txt" 这个字符串分离出来,Excel中没有直接的函数,如果要做,可以分以下四步分离。
第一步:构造一个源字符串长度的空格字符串;
即: =REPT(" ",LEN(A2))
第二步:把整个字符串中的分隔符,替换为上面构造出的长空格串。
即: =SUBSTITUTE(A2,"\",REPT(" ",LEN(A2)))
第三步:把字符串从右往左取字串,长度为整个源字符串长度,(0这样肯定会取到右边字符串,前面有若干空格)
即 : =RIGHT(SUBSTITUTE(A2,"\",REPT(" ",LEN(A2))),LEN(A2))
第四步:把空格去掉
即: =TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",LEN(A2))),LEN(A2)))
大功告成!
输入的时候要注意括号的数量,可以按照上面一步步去做,更容易成功。
在许多开发语言里,没有一步到位功能时,都可以用这个原理去做。比如,我在Tableau里用这个原理取文件后缀。
Enjoy it!!!