excel函数查找第5个反斜杠的位置,下面列出了一个完整的文件路径:
D:myDatacategory ExcelVBASkillstest.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大值。