开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2023.02.28河南
如下为动态图演示:
在单击任意列表中的文件名称,此时就可以打开此的文件内容;同时如在文件中新增/删除或更改文件名称,按F9键文件名称列表会自动更新。
思考如何在EXCEL表格中实现此效果
解题思路
第一步:动态获取文件名称
①提取文件的动态路径
首先使用CELL函数公式=CELL('filename')获取文件的全路径('D:\EXCEL文件夹\[新建XLSX工作表.xlsx]Sheet1'),然后使用LEFT和FIND函数组合公式=LEFT(CELL('filename'),FIND('[',CELL('filename'))-1)提取文件夹的动态路径('D:\EXCEL文件夹\');此时文件位置移动后公式提取的路径也会相对变更。
②自定义名称
使用FILES函数自定义【名称】区域名称=FILES(LEFT(CELL('filename'),FIND('[',CELL('filename'))-1)&'*.*')&T(NOW())提取文件名,*.*代表文件夹中的所有内容的文件,连接T(NOW()可以实现自动更新功能(T函数的作用是检测数据是否为文本,返回原样或空,而now函数结果为一个数值,所以T函数返回空值,不影响FILES函数获取的文件名称)。
动态演示图如下:
③提取文件名称
选中C3单元格输入公式=INDEX(名称1,ROW(1:1)),下拉填充公式,获取文件夹中的所有文件名称,此时文件夹中新增/删除或更改文件名称后,按F9键列表中的文件名称会自动更新。注意:公式的【名称1】为自定义的区域名称。
第二步:超链接目录文件
在C3单元格中补充HYPERLINK函数公式=HYPERLINK(LEFT(CELL('filename'),FIND('[',CELL('filename'))-1)&INDEX(名称1,ROW(1:1)),INDEX(名称1,ROW(1:1)))。
公式解析:
HYPERLINK函数表达式,HYPERLINK(Link_location,[Friendly_name]),Link_location必需。链接位置(要打开的文件名称或完整路径)。Friendly_name可选。超链接要显示内容。
CELL('filename'),FIND('[',CELL('filename'))-1)公式部分为获取文件的路径,INDEX(名称1,ROW(1:1))部分获取的文件夹第一个文件名称,将它们使用&链接符链接在一起后,就是文件家中第一个文件的全路径,HYPERLINK函数第一个参数;第二参数INDEX(名称1,ROW(1:1))是超链接要显示的内容(文件名称);当公式下拉填充时ROW(1:1)返回1、2、3...等序号,HYPERLINK函数公式相对获取文件夹中第1、2、3...文件名。
第三步:屏蔽错误值
由于要实现文件夹中新增文件后,按F9键后能自动更新获取到新增文件名,需要将HYPERLINK函数公式下拉填充至大于现有文件夹文件数量,此时会导致产生错误值。
解决的办法就是在原HYPERLINK函数公式外嵌套一个IFERROR函数=IFERROR(HYPERLINK(LEFT(CELL('filename'),FIND('[',CELL('filename'))-1)&INDEX(名称1,ROW(1:1)),INDEX(名称1,ROW(1:1))),''),当结果Wie错误值,返回空。
到这里公式就全部嵌套完成,单击文件名称可以跳转打开对应的文件,文件夹中新增/删除或更新名称后,按F9键会自动更新。