excel函数查找第5个反斜杠的位置

excel函数查找第5个反斜杠的位置,下面列出了一个完整的文件路径:

D:\myData\category\ Excel\VBA\Skills\test.xlsm

想要查找第5个反斜杠的位置,如何使用公式获取?

公式

公式1

=FIND(“\”,A1,FIND(“\”,A1,FIND(“\”,A1,FIND(“\”,A1,FIND(“\”,A1)+1)+1)+1)+1)

使用FIND函数从左至右查找。最里面的FIND函数查找第一个“\”出现的位置,其外层的FIND函数从该位置右侧查找第二个“\”出现的位置,依此类推,最外层第5个FIND函数查找第5个反“\”出现的位置。

公式2

=SEARCH(“\”,A1,FIND(“\”,A1,FIND(“\”,A1,FIND(“\”,A1,FIND(“\”,A1)+1)+1)+1)+1)

与FIND函数原理相同。

但是SEARCH函数和FIND函数的区别在于是否区分大小写。SEARCH函数不区分大小写,而FIND函数区分大小写。

以上两个公式虽然很长,但很好理解,缺点是如果要查找的第10个反斜杠,则需嵌套10个函数,公式更冗长。

公式3

=FIND(CHAR(5),SUBSTITUTE(A1,”\”,CHAR(5),5))

公式利用了SUBSTITUTE函数可以指定要替换的字符的位置并使用另一字符进行替换的特点。因此,公式3使用CHAR(5)代表的字符替换第5个“\”,然后FIND函数查找CHAR(5)代表的字符出现的位置,也就是第5个“\”的位置。

这个公式很简洁,但要确保查找的字符串中没有CHAR(5)代表的字符。

公式4

=LARGE(((MID($A1,ROW(INDIRECT(“1:”&1024)),1))=”\”)*ROW(INDIRECT(“1:”&1024)),2)

这是一个数组公式。

公式中的:

MID($A1,ROW(INDIRECT(“1:”&1024)),1))=”\”

将单元格A1中的字符串拆成由单个字符组成的数组,然后将其每个元素与“\”比较,得到一个由TRUE/FALSE值组成的数组。很显然,字符串中对应着“\”的值为TRUE。而ROW(INDIRECT(“1:”&1024))生成由1至1024组成的数组。两个数组相乘,只有TRUE值对应的数值是除0外的整数且是各“\”的位置,而我们要查找的“\”是倒数第2个,也就是数组中的第2大值。

office办公软件入门基础教程 » excel函数查找第5个反斜杠的位置

本文链接:【excel函数查找第5个反斜杠的位置】https://www.officeapi.cn/87829.html

OFFICE,天天学一点,进步多一点

联系我们