excel学习库

excel表格_excel函数公式大全_execl从入门到精通

这个函数真强大,居然能列示文件夹下的所有文件名

如何在Excel工作表中列出某个文件夹下的所有文件名称呢?本文介绍两种方法。

第一种方法使用浏览器,操作非常简单,不需要使用函数,缺点是不能自动更新。

第二种方法使用Files函数,用法并不复杂。当文件夹中的文件增加或减少时,可以更新文件名称。当文件夹内有多种类型的文件时,可以只列出特定类型的文件,比如只列出Excel文件。此外,还可以创建对文件的超链接,单击超链接,即可打开对应的文件。

1

方法一:使用浏览器

如下图所示,要求在工作表中列出“示例”文件夹中的所有文件。

(1)复制路径“E:\示例”,打开浏览器,将复制的路径粘贴到地址栏,按<Enter>键,如下图所示

(2)按<Ctrl+A>全选浏览器中列出的文件名称,然后复制粘贴到工作表中。

这种方法操作非常简单,不需要使用函数,缺点是不能自动更新。粘贴到工作表中的文件名称虽然看上去是一个超链接,不过单击并不能打开相应的文件。

2

方法二:使用Files函数

Files函数是宏表函数,不能直接在单元格中使用,需要先定义名称,然后才能在单元格中使用。

1、定义名称

在B1单元格输入文件路径,注意最后的“*”不要省略。“*”是通配符,表示任意长度的字符。这样可以提取“示例”文件夹中的所有文件名称。

公式解析:

Now()返回当前时间,在Excel中,时间的本质是数值。因此T(Now())返回空文本。由于Now()函数是易失性函数,当在单元格中输入值或修改单元格时,可以强制Files函数自动重算,从而更新Files函数的计算结果。

当文件夹中的文件增加或减少时,单独使用Files函数不能更新提取的文件名称。但是Files函数搭配T(Now())使用,则可以实现自动更新提取的文件名称。

2、提取文件名

B3单元格输入公式:=INDEX(myfiles,ROW(A1))
向下复制公式至B10单元格。
公式解析:

(1)Files函数返回的是一个包含所有文件名称的水平数组。因此使用Index函数依次提取每个文件名称。

(2)当已列出所有文件名称时,函数返回错误值。可以使用IFERROR函数屏蔽错误值。B3单元格输入公式:=IFERROR(INDEX(myfiles,ROW(A1)),"")。
当所有文件名都已列出后,返回空文本。

(3)当文件夹中新增文件时,双击任意一个单元格或按<F9>键,提取的文件名称会更新。

(4)如果只需要提取某种类型的文件,比如Excel文件,可以将B1单元格数据修改为:E:\示例\*.xls*,表示只提取扩展名为“xls*”的文件名称,也就是Excel文件。

(5)如果希望创建指向文件的超链接,可以搭配HyperLink函数使用。

B3单元格输入公式:
=HYPERLINK(LEFT($B$1,LEN($B$1)-1)&"\"&IFERROR(INDEX(myfiles,ROW(A1)),""),IFERROR(INDEX(myfiles,ROW(A1)),""))
Hyperlink函数的语法为hyperlink(link_location,[Friendly_name])。link_location指链接文件存放位置,先使用LEFT函数从B1单元格提取文件存放路径,然后和Index函数提取的文件名连接。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接