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所示。 图2 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。 完美Excel社群2020.8.25动态 #Excel实战技巧# 使用复选框控制是否显示相关图片 #Excel公式# 使用MATCH函数来确定数据集中的最后一个相对位置 |
|
来自: hercules028 > 《excel》