在 Excel 中从路径提取文件名
本教程将为您详细讲解,如何通过公式从文件路径中的指定单元格,提取包含或不包含扩展名的文件名。

从路径中提取带扩展名的文件名
如下面截图所示,列表中包含不同的文件路径。如果您只想提取带扩展名的文件名,以下公式将为您轻松实现。

通用公式
=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))
参数说明
A1:指包含文件路径的单元格,您可以从中提取文件名。
如何使用这个公式?
1. 选择一个空白单元格用于输出文件名,本例中选择的是 D3 单元格。
2. 请在该单元格中输入下方公式,并按下 Enter 键。选中结果单元格后,下拉填充柄即可快速应用到其他单元格。
=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:filesworkQ 1Jantext.txt"。接着,LEN 函数会计算 "D:filesworkQ 1Jantext.txt" 的总长度,最终得到结果为 24.
- SUBSTITUTE(B3,"\","*",30-24):SUBSTITUTE 函数将 “D:\\files\work\Q1\Jan\text.txt“ 中第 30-24=6 个 “\“ 字符替换为一个 “*“ 字符,最终结果为 “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\Q1\Jan*text.txt“ 的第 22 个字符位置。
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\Q1\Jan\text.txt“ 的第 23 个字符开始,提取 30 个字符,最终结果为 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. 将下方公式输入该单元格并按 Enter 键。选中结果单元格,然后下拉填充柄以应用到其它单元格。
=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 AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。
