给excel添加目录,索引目录的方式:
针对.xlsx后缀,老版本.xls的话是不支持的。
(之前做表格目录,怎么也不显示,但是在空白的表格中尝试公式,就可以实现,也不知道为什么就这个表格不行,后来突然发现,版本不一样,更换了版本以后,就可以了)
1、公式——名称管理器——新建——名称(写上目录,也可以写别的XX) ——引用位置填写:
=INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW())
(假设选中了A1单元格操作这个步骤)
2、在A1单元格输入
=IFERROR(HYPERLINK(目录&"!A1",MID(目录,FIND("]",目录)+1,99)),"")
【其中目录,为上一步骤的名称】
回车,同时进行下拉填充。
单击即可进行跳转。
如果增加或删除了工作表,只需要在“目录”工作表中,把公式再填充一下,目录就更新了。
最后进行,美化目录:
公式说明:
GET.WORKBOOK(1),ROW(A1))&T(NOW()
GET.WORKBOOK(1)----一个宏表函数,用来快速提取工作簿的表名,需要先定义名称后使用。
GET.WORKBOOK函数返回的结果类型为“ [课件.xlsm]目录”的样式。也就是“工作簿名称+后缀名+工作表名称”。
ROW(A1)----使用这个公式的第一个单元格的位置格式是“表明!单元格位置”,例如“A1表示单元格A1;ROW(目录!E6)———表示的就是在目录这个表里面的第E列第六行。
T(NOW())部分返回一个空值,目的是让GET.WORKBOOK函数结果能够实时更新。
IFERROR(HYPERLINK(目录&"!A1",MID(目录,FIND("]",目录)+1,99)),"")
HYPERLINK----一个用来做超链接的函数,是EXCEL超级链接的函数实现方法。
FIND(“]”,目录)部分,用于查找符号”]”在自定义名称“目录”计算结果中的位置。
MID(目录,FIND(“]”,目录)+1,99)部分,从“目录”中的”]”符号后一个字符处取值,取值长度为99个字符,这里的99可以写成任意一个较大的数值。
当单击函数 HYPERLINK 所在的单元格时,Excel将打开链接的文件或跳转到指定的工作表的单元格,本例中是跳转到 目录&”!A1″。
IFERROR函数用于屏蔽错误。
特殊说明:
“#’”&目录&"’!A1" :其中加粗部分为 英文单引号,否则Excel中的链接无效
注意事项;
1、做好的文件一定要保存为.xlsm格式,原因是用到了宏代码,如何保存为普通的.xlsx文件,则公式中定义好的名称会没有,生成的目录就也会变没有;
保存为.xlsx格式则会出现如下提示:
2 、操作之前一定要在宏设置中选中“启用所有宏”