打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel公式练习66: 查找第5个反斜杠的位置

excelperfect

本次的练习是:下面列出了一个完整的文件路径:

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函数从该位置右侧查找第二个“\”出现的位置,依此类推,最外层第5FIND函数查找第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))生成由11024组成的数组。两个数组相乘,只有TRUE值对应的数值是除0外的整数且是各“\”的位置,而我们要查找的“\”是倒数第2个,也就是数组中的第2大值。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
与match类似的文本查找函数find的用法
Excel 如何提取字符串中第一个非数字字符及之后的字符串 - Excel函数与公式
字符,字符串,字符数组的尾部问题
单元格取数字万能公式-只需一招搞定
Find函数用法大总结
excel文本函数应用:单元格中的数字和字母,如何判断?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服