将100个EXCEL工作表建立目录索引,同事用1小时,我用1分钟
EXCEL工作簿中的工作表多了,查找某个工作表就比较麻烦,可以用建立目录索引的方式来实现快速定位到指定的工作表。
目录索引如何建立呢?
相信插入链接的操作好多人都会,但是如果工作表太多了,用这种方法操作时间也是比较久,而且重复机械的操作会让人抓狂。
今天给大家带来一个批量插入链接的简单方法。
01
定义名称
在【公式】选项卡【定义名称】功能区选择【定义名称】,在弹出的【新建名称】窗口中,【名称】文本框输入“目录索引公式”(自定名称),在【引用位置】文本框中输入公式:
=INDEX(GET.WORKBOOK(1),ROW(1:1))&T(NOW())
02
创建目录
在B1单元格输入公式:
=IFERROR(HYPERLINK(目录索引公式&"!A1",MID(目录索引公式,FIND("]",目录索引公式)+1,99)),"")
公式解析:
=INDEX(GET.WORKBOOK(1),ROW(1:1))&T(NOW())
GET.WORKBOOK宏表函数,它是提取工作簿下所有的工作表表名,把它定义名称才可以使用它。
它提取工作表表名后返回的格式如“[工作簿名称.xlsx]工作表名称”样式。
T(NOW())T是EXCEL中的一个函数,它的用法是:
T(value)
当value为文本型数据时,T函数将其返回原内容,当value为其它数据时则返回空值。公式中使用T(NOW())是为了保证工作表名可以实时更新,我们修改某个工作表表名时,目录页的内容会立即更新。
整个公式是返回所有的工作表名如果我们把=GET.WORKBOOK(1)定义名称目录索引公式,然后在B1单元格中输入公式:
= INDEX(目录索引公式,ROW(1:1))&T(NOW())
向下填充公式
=IFERROR(HYPERLINK(目录索引公式&"!A1",MID(目录索引公式,FIND("]",目录索引公式)+1,99)),"")
MID(目录索引公式,FIND("]",目录索引公式)+1,99)返回工作表表名后,我们要把“[工作簿名称.xlsx]”去除掉,用FIND函数找到“]”的位置,用MID函数从这个位置往后1个字符开始提取后面的字符,本例中是提取99个,99是代表足够大的数,只要它比工作表名的字符数都要大就可以。
继续上面的内容,我们在C1单元格中输入公式:
=MID(B1,FIND("]",B1)+1,99)
双击向下填充,即可把工作表名全部提取出来。
HYPERLINK函数是创建超链接,它可以指定跳转到某个工作表时光标定位的单元格,本例中的目录索引公式&"!A1"是我们统一让跳转到所有工作表的A1单元格。
IFERROR函数是如果出现错误值时,我们让它返回空值。
注意:
当我们保存工作簿时会提示如下窗口:
我们要把工作簿保存为xlsm格式。