前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式练习66: 查找第5个反斜杠的位置

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

作者头像
fanjy
发布2020-06-09 09:36:04
2K0
发布2020-06-09 09:36:04
举报
文章被收录于专栏:完美Excel

学习Excel技术,关注微信公众号:

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函数从该位置右侧查找第二个“\”出现的位置,依此类推,最外层第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大值。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档