Excel中提取文件名有四种方法:一、用CELL+MID+FIND函数提取当前工作簿名;二、Power Query批量导入文件夹内文件名;三、CMD命令导出文件名至TXT再导入;四、VBA宏遍历文件夹列出文件名。

如果您需要在Excel中快速提取当前工作簿的文件名,或批量获取指定文件夹内所有文件的名称,可通过内置函数、Power Query或命令行辅助实现。以下是具体操作步骤:
一、使用CELL函数提取当前工作簿文件名
CELL函数可返回工作簿路径与名称信息,配合FIND和MID函数可精准截取文件名(不含路径和扩展名)。该方法适用于单个工作簿的即时提取,无需外部工具。
1、在目标单元格输入公式:=MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)。
2、按Enter确认,结果即为当前工作簿的文件名(不含.xlsx等扩展名)。
3、若需包含扩展名,将公式末尾的“-1”改为“0”,并调整长度参数为:FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))。
二、通过Power Query批量导入文件夹内所有文件名
Power Query支持连接本地文件夹,自动列出全部文件元数据(含名称、大小、修改时间等),无需编写代码,适合处理数百个文件的场景。
1、打开Excel,切换到【数据】选项卡,点击【获取数据】→【从文件】→【从文件夹】。
2、在弹出窗口中,浏览并选中目标文件夹,点击确定。
3、在导航器中取消勾选【合并并加载】,仅勾选【文件夹】表,点击【转换数据】进入Power Query编辑器。
4、在查询编辑器中,删除除【Name】列外的所有列,右键【Name】列选择【更改类型】→【文本】。
5、点击【主页】→【关闭并上载】,文件名列表即导入当前工作表。
三、利用CMD命令导出文件名至TXT再导入Excel
Windows系统内置的dir命令可快速生成文件列表,输出为纯文本格式,兼容性高,适合无Power Query版本(如Excel 2010)或需保留完整路径的用户。
1、按下Win+R,输入cmd并回车,打开命令提示符。
2、输入命令:cd /d D:\目标文件夹路径(将“D:\目标文件夹路径”替换为实际路径)。
3、执行导出命令:dir /b > filenames.txt(仅文件名)或dir /b /s > fullpaths.txt(含完整路径)。
4、打开Excel,使用【数据】→【从文本/CSV】导入刚生成的TXT文件,选择分隔符为“{无}”,加载即可。
四、使用VBA宏一键获取当前文件夹所有文件名
VBA脚本可直接遍历指定路径下的文件,将名称写入活动工作表,支持自定义筛选条件(如仅显示.xlsx文件),运行速度快且可重复调用。
1、按Alt+F11打开VBA编辑器,插入新模块:点击【插入】→【模块】。
2、粘贴以下代码:Sub ListFilesInFolder() Dim fso As Object, folder As Object, file As Object, i As Integer Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("D:\目标文件夹路径") i = 1 For Each file In folder.Files Cells(i, 1).Value = file.Name i = i + 1 Next file End Sub。
3、将代码中"D:\目标文件夹路径"替换为实际路径,按F5运行宏。
4、返回Excel,A列即显示该文件夹下全部文件名。










