用 Excel 这个函数就能提取出文件夹中的所有文件名
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
今天教一个隐藏函数,用它可以提取出目录中的文件名,而无需使用大家最头疼的 VBA。
案例:
从下图 1 的目录中提取出所有文件的名称,效果如下图 2 所示。
解决方案:
1. 复制完整目录,在任意一个空单元格中粘贴目录,后面加一个“*”号,形式如下:
2. 按 Ctrl+F3 --> 在弹出的对话框中点击“新建”按钮
3. 在弹出的对话框中输入任意名称 --> 在“引用位置”处输入以下公式 --> 点击“确定”:
=FILES(Sheet1!$A$1)
公式释义:
- FILES 函数是一个隐藏的宏表函数,用于批量获取指定文件夹路径下的文件名列表;
- 它无法直接在单元格中使用,必须通过定义名称来调用,并结合其他函数实现文件管理功能;
- 语法:FILES(路径\*.*);*.* 是通配符,表示任意文件名;
- 该函数的结果是横向的;
- 此处的公式表示获取 A1 单元格的目录下的所有文件名。
4. 在任意空单元格中输入公式 =a --> 回车
如果是 365 版本,就会直接动态呈现出所有结果。低版本没有动态数组功能,只能显示第一个元素。
在公式栏中选中 a,就能看到结果确实包含了所有文件名。如果要完整列出,可以搭配 index 函数使用。
5. 将公式修改如下 --> 向下拖动,复制公式:
=IFERROR(INDEX(a,ROW(A1)),"")
公式释义:
- INDEX(a,ROW(A1)):从公式 a 的结果中提取出第 row(a1),即 第 1 个元素;随着公式下拉,行号会依次递增,于是就依次提取出每一个元素;
- IFERROR(...,""):如果上述公式出现错误值,即元素提取完了,就返回空值。