Note: The other languages of the website are Google-translated. Back to English
English English

从Excel中的路径中提取文件名

本教程说明了如何应用公式来提取Excel中特定单元格中文件路径中带或不带扩展名的文件名。

从路径中提取带有扩展名的文件名
从路径中提取不带扩展名的文件名


从路径中提取带有扩展名的文件名

如下面的屏幕快照所示,有一个包含不同文件路径的列表,并且您只想从中提取带有扩展名的文件名,以下公式将帮助您解决问题。

通用公式

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

参数

A1:代表包含您要从中提取文件名的文件路径的单元格。

如何使用这个公式?

1.选择一个空白单元格以输出文件名。 在这种情况下,我选择单元格D3。

2.在其中输入以下公式,然后按 输入 键。 选择结果单元格,然后将其“填充手柄”一直向下拖动以将其应用于其他单元格。

=MID(B3,FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))+1,LEN(B3))

现在,如上图所示,提取了在特定文件路径中带有扩展名的所有文件名。

说明:

  • 在此公式中,B3是包含文件路径的单元格。 请根据需要进行更改。
  • 如果文件名长度不超过99个字符,则以下较短的公式也可以用于解决问题。 请参见下面显示的屏幕截图。
    =TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",100)),99))

这个公式如何运作?

=MID(B3,FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))+1,LEN(B3))

1. FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))

  • LEN(B3):LEN函数计算“ D:\\ files \ work \ Q1 \ Jan \ text.txt”中的总长度,并将结果返回为30;
  • LEN(SUBSTITUTE(B3,"\","")):SUBSTITUTE函数用任何字符替换字符“ \”。 结果为“ D:filesworkQ1Jantext.txt”。 然后,LEN函数计算“ D:filesworkQ1Jantext.txt”的总长度,并得到结果24;
  • SUBSTITUTE(B3,"\","*",30-24):SUBSTITUTE函数用单个字符“ *”替换“ D:\\ files \ work \ Q30 \ Jan \ text.txt”中的第三个字符(24-6 = 1)“ \”。 这里的结果是“ D:\\ files \ work \ Q1 \ Jan * text.txt”;
  • FIND("*","D:\\files\work\Q1\Jan*text.txt"):FIND函数在“ D:\\ files \ work \ Q1 \ Jan * text.txt”中找到字符“ *”的位置,最后返回22。这意味着字符“ *”在“ D:\\ files \ work \ Q22 \ Jan * text.txt”。

2. =MID(B3,22+1,LEN(B3))

  • 如上面的说明所示,LEN(B3)返回结果为30,此处的MID函数可以显示为= MID(“ D:\\ files \ work \ Q1 \ Jan \ text.txt”,23,30)。 这意味着MID函数从字符串“ D:\\ files \ work \ Q30 \ Jan \ text.txt”中提取第1个字符中的23个字符。 这里的结果是text.txt。

从路径中提取不带扩展名的文件名

在另一种情况下,您可能只需要从路径中提取不带扩展名的文件名即可,如下面的屏幕快照所示。 本节将提供一个长公式,以帮助您轻松掌握它。

通用公式

=IFERROR(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(A1,".",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))-FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))-1),"")

参数

A1:代表包含您要从中提取文件名的文件路径的单元格。

CHAR(1)注意:此处的CHAR(1)可以根据需要用任何CHAR编号替换。 或者可以将其替换为用引号引起来的特定符号,例如“ *”。

如何使用这个公式?

1.选择一个空白单元格以输出不带扩展名的文件名。

2.在其中输入以下公式,然后按 输入 键。 选择结果单元格,然后将其“填充手柄”一直向下拖动以将其应用于其他单元格。

=IFERROR(MID(B4,FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(B4,".",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,".",""))))-FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))-1),"")

备注:在此公式中,B3是包含文件路径的单元格。 请根据需要进行更改。


相关功能

Excel MID功能
Excel MID函数用于从给定文本字符串的中间查找并返回特定数量的字符。

Excel FIND函数
Excel FIND函数用于在另一个字符串中查找一个字符串,并返回该字符串在另一个字符串中的起始位置。

Excel SUBSTITUTE功能
Excel SUBSTITUTE函数将文本字符串中的文本或字符替换为另一个文本或字符。

Excel LEN功能
Excel LEN函数返回文本字符串中的字符数。

Excel IFERROR函数
IFERROR函数用于在公式计算错误时返回自定义结果,而在没有错误发生时返回正常结果。


相关公式

从一个单元格中提取多行
如果您有由换行符分隔的文本字符串列表(输入文本时按Alt + Enter键会发生),并且要将这些文本行提取到多个单元格中,则本教程中的公式将为您提供恩。

从多行单元格中提取文本的最后一行
要从由换行符分隔的文本字符串中提取文本的最后一行,本教程中的公式可以帮助您在Excel中处理此任务。

从Excel中的文本字符串中提取第N个单词
本文介绍了如何使用公式从Excel单元格中的文本字符串中提取特定的第n个单词。

从Excel中的单元格中提取最后两个单词
本教程说明了如何使用公式从Excel的单元格中提取最后两个单词。

在Excel中提取以特定字符开头的单词
本教程提供了一个包含详细步骤的公式,以帮助您从Excel单元格中的文本字符串中提取以特定字符开头的单词。

提取所有单词,但首先还是最后
在本教程中,您将学习如何使用公式从单元格中提取所有单词,但Excel中的第一个或最后一个除外。


最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

您想快速,完美地完成日常工作吗? Kutools for Excel具有300项强大的高级功能(合并工作簿,按颜色求和,拆分单元格内容,转换日期等),并为您节省80%的时间。

  • 专为1500个工作方案而设计,可帮助您解决80%的Excel问题。
  • 每天减少成千上万的键盘和鼠标点击,减轻您疲倦的眼睛和手部的疲劳。
  • 在3分钟内成为一名Excel专家。 不再需要记住任何痛苦的公式和VBA代码。
  • 30天无限制免费试用。 60天退款保证。 免费升级和支持2年。
Excel功能区(已安装Kutools for Excel)

Office选项卡-在Microsoft Office(包括Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一样,为Office(包括Excel)带来高效选项卡。
Excel的屏幕截图(已安装Office选项卡)
按评论排序
注释 (0)
还没有评分。 成为第一位评论!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点