想把整个文件夹中的文件名批量导入Excel,关键只用到两个公式:先在名称管理器中通过 =FILES("文件夹路径*.*") 提取完整文件列表,再用 =INDEX(名称,ROW(A1)) 按行依次读取文件名。这次示例使用的是WPS表格,Microsoft Excel 的操作逻辑完全一致,同样是在「公式」选项卡中打开名称管理器;如果你使用的是旧版WPS或早期Excel版本,建议先确认软件是否支持 FILES 这个宏表函数,再继续操作。
第一步:打开名称管理器
先新建一个空白工作表,切换到顶部的「公式」选项卡,点击「名称管理器」。不要直接在单元格中输入 FILES,因为它属于 Excel 4.0 宏表函数,必须先写入名称定义中,后续才能通过 INDEX 公式调用文件列表。
第二步:定义FILES公式
在名称管理器中点击「新建」,名称一栏可以填写“获取文件名”。下方「引用位置」按照格式输入 =FILES("D:资料*.*") ,再把示例中的路径替换成你实际需要提取文件名的文件夹路径即可;末尾的 *.* 表示匹配该文件夹下所有类型的文件,适合做批量获取文件名的操作。

第三步:复制文件夹路径
文件夹路径尽量不要手动输入,以免路径写错导致公式报错。打开需要提取文件名的目标文件夹,点击顶部地址栏,直接复制完整路径,再返回名称管理器进行粘贴。公式中的反斜杠要保留,路径后面继续加上 *.* 即可;如果缺少这部分内容,Excel 或 WPS 无法识别要匹配的文件范围,通常会直接报错。

第四步:用INDEX拉出文件名
返回工作表后,在A2单元格中输入 =INDEX(获取文件名,ROW(A1)) ,然后向下填充公式。ROW(A1) 会先返回数字 1,向下拖动时会依次变成 2、3、4,这样就等于让 INDEX 按顺序提取第1个、第2个、第3个文件名,实现文件夹文件名批量导出到Excel。

第五步:去掉扩展名
如果你只想保留不含后缀的纯文件名,可以在B2单元格输入 =MID(A2,1,LEN(A2)-4) ,然后继续向下填充。这个公式适用于 .doc、.xls 这类3位扩展名文件;如果遇到 .xlsx、.docx 这类4位扩展名,则需要把公式最后的数字 4 改成 5,这样才能把点号和扩展名一并去掉。

两个核心公式的写法
| 公式 | 放在哪里 | 作用 |
|---|---|---|
=FILES("D:资料*.*") | 名称管理器的“引用位置” | 返回指定文件夹中的文件名列表 |
=INDEX(获取文件名,ROW(A1)) | 工作表单元格 | 按序号从“获取文件名”这个列表中提取一个文件名 |
FILES函数语法和参数
FILES(directory_text) 只有一个参数:directory_text。这个参数需要写成带英文双引号的目录文本,也可以结合通配符使用,通常填写绝对路径即可。对于需要批量提取文件名、筛选文件类型或按名称匹配文件时,这个函数非常实用。
| 写法 | 含义 | 结果范围 |
|---|---|---|
"D:资料*.*" | 提取 D 盘“资料”文件夹下的所有文件 | 所有扩展名 |
"D:资料*.xlsx" | 只提取 Excel 工作簿 | 扩展名为 xlsx 的文件 |
"D:资料合同*.*" | 只提取以“合同”开头的文件 | 合同2026.xlsx、合同模板.docx 等 |
INDEX公式的参数
INDEX(array,row_num,[column_num]) 在这里我们只需要用前两个参数:array 填写之前在名称管理器中定义好的名称,例如上面的“获取文件名”;row_num 填 ROW(A1),向下填充后会自动生成连续序号。column_num 是可选参数,而本例中的文件名列表只有一列,所以可以省略不写。
| 参数 | 本例写法 | 说明 |
|---|---|---|
array | 获取文件名 | 名称管理器中定义出来的文件列表 |
row_num | ROW(A1) | 从 1 开始依次提取第几个文件名 |
column_num | 省略 | 列表只有一列时无需填写 |
常见错误和处理
如果公式返回 #REF! 错误,先检查是不是向下填充的行数超过了文件夹中的实际文件数量。比如文件夹里只有20个文件,你把公式拖到第21行,就会自然出现这个报错。如果刚输入公式就立即报错,重点要检查路径、英文双引号、反斜杠以及通配符是否输入正确。使用中文引号、漏掉 *.*、路径不存在,都会导致 Excel 无法正确读取文件名列表。
几个常见的修改方式可以参考:如果只想提取 Word 文档,就把 FILES 公式改成 =FILES("D:资料*.docx");如果只想提取文件名以“发片”开头的文件,就写成 =FILES("D:资料发片*.*");如果想单独拆分出文件后缀名,可以在旁边单元格输入 =RIGHT(A2,LEN(A2)-FIND(".",A2)) 直接提取扩展名。最后提醒一下,整理完成后最好将公式结果全部复制并粘贴为数值,否则后续文件夹内容发生变化时,你已经生成好的文件名清单也可能跟着同步变化。
