不使用VBA! excel表格提取指定文件夹的所有文件名的技巧
假设有一个文件夹,其中包括有许多文件,而你想要在工作表中列出这些文件的名字,怎么办?当然,你可以一个一个地选择文件,复制其名字并粘贴到工作表中,但这种工作很枯燥且耗费时间。此时,你可能想到VBA,编写一段代码可以很快实现这个需求,如果不使用VBA呢?这就是本文要介绍的技巧。
首先,我们在要获取其文件名的文件夹中新建一个工作簿,在工作表单元格A1中输入文件夹完整的地址,并在末尾添加*号。本示例为桌面文件夹,单元格A1中代表文件夹的完整地址为:
C:\Users\excelperfect\Desktop\*
其实,可以使用一个公式来得到上面的文件夹路径,在单元格A1中输入公式:
=REPLACE(CELL("filename"),FIND("[",CELL("filename")),LEN(CELL("filename")),"*")
其结果如下图1所示。即为该工作簿所在文件夹的完整地址并在其后添加*号。

接下来,我们定义名称。
单击功能区“公式”选项卡“定义的名称”组中的“定义名称”,在弹出的“新建名称”对话框中定义一个名为“GetFileNames”的名称,如下图2所示。
现在,可以获取的在文件夹中的文件名列表了。
在单元格A3中,输入下面的公式:
=IFERROR(INDEX(GetFileNames,ROW()-2),"")
向下拖动复制直至列出该文件夹中的所有文件名称,如下图3所示。

可以看出,上面列出了文件夹中所有文件的名称。然而,如果我只想列出特定扩展名的文件名称,可以在文件扩展名中使用*号来实现,例如只想列出Excel文件,则文件夹的地址修改为:
C:\Users\excelperfect\Desktop\*xls*
结果如下图4所示。

最后,我们解释一下工作原理。
FILES函数获取指定文件夹中指定扩展名的所有文件的名称。在INDEX公式中,将获取的文件名数组作为其第一个参数,使用ROW函数返回的值获取第1个、第2个、第3个……文件名。注意,这里使用了ROW()-2,因为是从第三行开始的,因此,对于第三行,ROW()-2返回1,公式向下拖拉复制到第四行,其值返回2,以此类推。
相关文章

excel表格怎么用vba批量建立文件夹? Excel建文件夹实例
excel中需要创建文件夹来管理文件,通常都是一个一个创建,我们可以通过Excel的VBA(Visual Basic for Applications)编写一个简单的脚本来自动化这个过程,详细请看下文介2024-06-11
Excel表格怎么做文件夹侧标签?想要做一个文件夹侧标签的图形个,该怎么设计呢?今天我们就来看看使用excel设计的方法,详细请看下文介绍2021-05-25
想将某个文件夹所包含的文件的文件名提取出来,放在工作表中作为他用。如果一个一个地录入或用复制粘贴的办法都是非常费事的。其实,只需要FILE、INDEX这两个函数配合使用2021-03-11
Excel文档其实提供了很多实用的功能,今天给大家介绍一个比较有用的功能,那就是关于如何使用Excel制作文件夹侧标签,一起来了解一下吧2021-01-16
Excel表格中怎么制作文件夹搜索目录?电脑中的文件夹太多了,想要快速查找文件太困难了,我们可以哦通过制作文件夹搜索目录来解决这个问题,下面我们就来看看详细的教程,2020-08-11
excel表格怎么制作文件侧标签? excel文件夹标签的做法
excel表格怎么制作文件侧标签?重要文件会有侧标签,方便查找,想要制作一个侧标签,该怎么制作呢?下面我们就来看看excel文件夹标签的做法,需要的朋友可以参考下2020-04-20
excel中vba怎么创建或删除文件夹?vba中想要创建文件夹,删除文件夹,该怎么实现呢?下面我们就来看看详细的操作方法,需要的朋友可以参考下2019-03-01
需要批量新建文件夹几个还可以手动创建,要是数量多的话,就太麻烦了,所以今天小编就为大家介绍Excel一键创建多个文件夹方法,不会的朋友可以参考本文,希望能对大家有所2016-12-21- excel中输入了很多文简单,想将文件夹的名称和路径复制到word中,该怎么复制呢?下面我们分享一个技巧,可以快速批量复制文件夹名称及路径,需要的朋友可以参考下2016-11-08
- 如果打开的表格,里面的内容刚好是你要创建的文件夹名称的话,那么你还要创建吗?批量创建指定名字的文件夹,很方便,很实用。那么excel如何批量创建新文件夹?下面小编就为2016-10-13









最新评论