|
上周帮财务部的目录老张处理一个烂摊子,他手上那份《2023年供应商合同汇总》足足有47个工作表。索引每次想找某家公司的目录合同,他得挨个点标签页,索引像翻扑克牌一样。目录他抱怨说这活儿比找初恋还难——至少初恋还有张照片能回忆,索引这47个表名他背都背不下来。目录 我给他写了个目录索引,索引十分钟搞定。目录他当场愣住,索引说这功能他用了十年Excel居然不知道。目录其实原理特简单:Excel自带超链接功能,索引配合CELL函数获取工作表名称,目录就能自动生成一个带跳转功能的索引目录页。 具体操作分三步。目录第一步,在第一个工作表前插入一个新表,命名为"目录"。第二步,在A1单元格输入公式:=HYPERLINK("#'"&INDEX(GetWorkSheetNames(),ROW())&"'!A1",INDEX(GetWorkSheetNames(),ROW()))——等等,这公式需要定义名称才能用。在公式选项卡里点"定义名称",新建一个叫"GetWorkSheetNames"的名称,引用位置填=GET.WORKBOOK(1),注意这是宏表函数,需要另存为启用宏的工作簿格式。 第三步就简单了,在A2单元格输入=IFERROR(HYPERLINK("#'"&INDEX(GetWorkSheetNames(),ROW())&"'!A1",INDEX(GetWorkSheetNames(),ROW())),""),然后向下拖拽填充,拖到工作表数量差不多够用就行。这时候你会发现每个单元格都变成了蓝色带下划线的超链接,点击就能跳转到对应工作表。 但有个坑得提醒你,GET.WORKBOOK函数会返回带中括号的工作簿名,比如[合同汇总.xlsx]Sheet1,所以公式里必须用MID函数把工作簿名剥掉。=MID(INDEX(GetWorkSheetNames(),ROW()),FIND("]",INDEX(GetWorkSheetNames(),ROW()))+1,99)——这串嵌套看着唬人,其实就是找右中括号的位置,把后面的表名截出来。 老张当时问我:"这公式记不住咋办?"我说你记住核心思路就行:定义名称获取所有表名,INDEX按行提取,HYPERLINK生成跳转链接。至于那串嵌套公式,复制粘贴到自己表格里改改单元格引用就能用。 后来我又给他加了点料:在目录页用条件格式把超链接单元格设置成白底蓝字,鼠标悬停变红。老张说这感觉像在浏览网页,比之前翻标签页体面多了。他特意在周会上展示了这个目录页,结果市场部的小年轻们第二天全跑来找我要公式。 现在这方法在我们公司传开了。有人用它做预算表目录,有人拿它管理项目文档。最绝的是行政部刘姐,她给《员工手册》做了个目录,每个章节对应一个工作表,新员工培训时直接点目录跳转,省得来回滚动滚动条。她说这功能治好了她的颈椎病——毕竟以前每天要滚几百次鼠标滚轮。 说到底,Excel这工具就像瑞士军刀,大多数人只用了那个开瓶器功能。目录索引这招,本质上是用超链接把零散的表格组织成有导航的信息架构。下次你面对几十个工作表时,别急着骂娘,花十分钟做个目录页,省下的时间够你喝三杯咖啡。 |