Excel制作文件夹目录,不受版本限制,新增文件自动更新
Hello,大家好,之前跟大家分享了如何使用power query与HYPERLINK函数来制作一个Excel文件目录,但是有粉丝表示他们的Excel版本不支持power query用不了,今天跟大家分享另一种方法:宏表函数法,这种方法不受版本限制,几乎是通过用的,下面就让我们来看下它是如何操作的
一、宏表函数FILES的作用
首先先来了解下什么是宏表函数,宏表函数是早期Excel中的产物,它是VBA的前身,现在已经被vba逐渐取代了,但是我们依然可以调用,只不过,只能通过定义名称与index函数来调用
FILES函数:返回文件夹下的所有文件名称
语法:=FILES(path)
参数:path:文件路径
需要注意的是如果文件夹中还有另一个文件夹嵌套在其中,这个嵌套的文件夹中的文件名称函数是无法获取的
以上就是这个函数的作用,下面我们就来使用它制作文件目录
二、获取文件名称
1.定义名称
首先我们点击【公式】功能组找到【定义名称】将名称设置为xx然后将公式设置为=FILES("C:\Users\yahui\Desktop\宏表函数\办公文件汇总\*.*")&T(NOW())
跟大家简单的讲解下这个公式,可以分为两部分
第一部分:FILES("C:\Users\yahui\Desktop\宏表函数\办公文件汇总\*.*")
这一部分是用于获取文件名称的其中C:\Users\yahui\Desktop\宏表函数\办公文件汇总表示文件夹的路径,*.*用于代表文件名称,之前就跟大家介绍过,*号是通配符代表任意多个字符,在这里第一个*号代表文件名,第二个*号代表文件类型
第二部分:T(NOW())
刷新函数结果。宏表函数是不能实现自动更新的,我需要利用连接符号将T(NOW())与宏表函数连接起来强制刷新,T函数的作用是检测数据是不是文本,如果是文本就返回原样返回,不是文本就返回空值,而它的参数是now函数,这是一个数值,不是文本所以函数或返回空值,不影响FILES函数获取的文件名称
2.获取文件名
文章之前就说过了,只能通过定义名称与index来使用,上一步我们已经定义过名称了,这一步我们来使用index函数获取文件名
我们只需要将函数设置为:=INDEX(xx,ROW(A1))然后向下填充即可,这样的话就能获取名称,如下动图所示,index函数的第一参数是我们定义的名称,这个函数是固定的大家直接使用即可
在这里需要注意的是如果你想要实现添加文件自动更新,就需要向下多拖动一些公式,这个时候我们就需要利用iferror函数来屏蔽一下错误值,公式为:=IFERROR(INDEX(xx,ROW(A1)),"")
三、制作目录
制作目录我们利用HYPERLINK函数即可,首先我们需要复制下存放所有文件的文件夹的路径,然后将公式设置为:HYPERLINK("C:\Users\yahui\Desktop\宏表函数\办公文件汇总\"&A3,A3)然后向下填充即可,这样的话我们点击文件名就能自动的打开文件
跟大家简单的讲解下这函数
第一参数:"C:\Users\yahui\Desktop\宏表函数\办公文件汇总\"&A3。就是文件路径
第二参数:A3,就是超链接显示的结果
如果你想要实现添加文件自动更新目录,为了防止出现错误值,可需要屏蔽下错误值,最终公式为:=IFERROR(HYPERLINK("C:\Users\yahui\Desktop\宏表函数\办公文件汇总\"&A2,A2),"")
最后需要注意的是,因为在这里使用了宏表函数,我们需要将其格式另存为可以保存宏的格式,这点与vba类似,否则的话是不能保存公式的