学习Excel技术,关注微信公众号:
excelperfect
在工作表中有一系列完整文件路径清单,现在要提取其中的文件名称,由于文件夹中可能还有子文件夹,因此文件路径长短不同,而我们必须找出其最后一个“\”的位置,才能实现对文件名的提取。然而,Excel中没有像VBA一样的InstrRev函数,可以实现从右向左的查找。这样,我们可以自定义一个这样的函数,在Excel工作表中使用,我们也可以使用一些函数技巧来实现这样的目的。
在《Excel公式技巧47:MID函数的妙用》中,我们发现可以使用任意顺序的数组来提取字符串中指定位置的字符;在《Excel公式技巧48:生成从大到小连续的整数》中,介绍了如何倒序生成连续整数的技巧。运用这些知识后,我们可以很方便地从右向左找到最后一个“\”的位置。
如下图1所示的工作表,文件路径长短不同,我们要提取其文件名称。
图1
首先,找到最后一个“\”的位置。在单元格B1中输入数组公式:
=MATCH("\",MID(A1,LEN(A1)+1-ROW(INDIRECT("1:"& LEN(A1))),1),0)
得到值:
6
即从右向左数第一个“\”的位置是6。
然后,使用字符串总长度减去上面的结果,可以得到从左向右数最后一个“\”的位置:
=LEN(A1)-B1+1
结果为:
8
再使用MID函数获取文件/文件夹名:
=MID(A1,C1+1,LEN(A1))
得到:
Test1
将上述公式组合起来,使用一个公式来获取文件/文件夹名,即:
=MID(A1,LEN(A1)+1-MATCH("\",MID(A1,LEN(A1)+1-ROW(INDIRECT("1:"& LEN(A1))),1),0)+1,LEN(A1))
示例过程和结果如下图2所示。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有