分享

Excel公式技巧49: 提取文件名

 hercules028 2020-08-26

excelperfect

在工作表中有一系列完整文件路径清单,现在要提取其中的文件名称,由于文件夹中可能还有子文件夹,因此文件路径长短不同,而我们必须找出其最后一个“\”的位置,才能实现对文件名的提取。然而,Excel中没有像VBA一样的InstrRev函数,可以实现从右向左的查找。这样,我们可以自定义一个这样的函数,在Excel工作表中使用,我们也可以使用一些函数技巧来实现这样的目的。

在《Excel公式技巧47MID函数的妙用》中,我们发现可以使用任意顺序的数组来提取字符串中指定位置的字符;在《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所示。

2

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

完美Excel社群2020.8.25动态

#Excel实战技巧# 使用复选框控制是否显示相关图片

#Excel公式# 使用MATCH函数来确定数据集中的最后一个相对位置

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多