excel如何给工作表做目录并实现超链接
在工作中,往往一个工作簿里包含很多个工作表,要查找的时候只能在下面一个一个找,那么有快捷的方法实现快速查找呢,其实我们可以给你的工作表做一个目录,这样直接在目录里查找就方便多了 ,而且还可以加个超链接直接连到需要的表格。
操作方法
- 01
该方法主要通过用get.workbook函数自定义一个名称实现,首先打开要创建目录的工作簿,并新建一个工作表,重命名为目录,并填好相应名称。
- 02
然后 点击<公式> < 定义名称> 在弹出的新建名称窗口中 名称命名为(目录),在引用位置输入=get.workbook(1),然后点击确定。
- 03
完成上面一步后就可以直接利用这一定义名称了, 在A2输入=目录回车结束发现我们需要的表名称(2)有了,但是前面还有工作簿的名称(1),这样的名称就显得太复杂了,那么如何让它变得简洁点呢,让我们给它修饰下
- 04
基本思路:把前面的内容都替换为空就可以完成目标了,由于操作的时候涉及到了多个函数的相互嵌套比较复杂,对于每个函数的相应用法这里就不做讨论了。 首先用find函数找到"]",公式=FIND("]",A2,1)(图五),再用replace函数提取到整个工作簿的名称公式=REPLACE(A2,1,C2,"")(图六),然后把这两个函数进行嵌套得到=REPLACE(A2,1,FIND("]",A2,1),"")(图七)
- 05
接着复制这条公式(在编辑栏里选中公式按ctrl+c)然后点开名称管理器(位置在图二中可以找到)选择《目录》,在引用位置把复制的公式粘贴进去,然后再复制前面的get.workbook(1)把它嵌套到A2的位置(如图八)
- 06
整理得到公式 =REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1),1),"") 。注:如果有时候我们增减了工作表,那么怎么实现目录的自动刷新呢,很简单只要在原公式后面连个T(NOW())函数就可以实现了,因此最终的公式如下=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1),1),"")&T(NOW())。完成后关闭该对话框。
- 07
然后下拉A2进行填充,但是我们发现除了第一个是对的其他是错误的,为什么?这里要说明下 ,点击A2 在编辑栏里按下F9,会发现所有的工作表名称都在里面了(图十),辣么要怎么根据行号提取相应的工作表名称呢?直接用index函数就可以办到了。公式如下=INDEX(目录,ROW()-1)(图十一),这里又出现了新问题就是:当不存在工作表的时候会有#REF!提示,如何取消这个提示让它显示为空白呢,很简单在嵌套一个iferror函数就可以了 因此最最终的公式如下 =IFERROR(INDEX(目录,ROW()-1),"").
- 08
说明:如果你不想在目录页显示目录这张工作表的名称,则不必减去1,公式如下=IFERROR(INDEX(目录,ROW()),"")如(图十三)
- 09
进行到这里我们的目标已经完成一大半了,接下来只要在进行超链接就可以大功告成了。因此我们要用到hyperlink这个超链接函数如图十四 =HYPERLINK("#"&A2&"!A1","转到"),这样点击“转到”就可以跳转到对应的工作表了
- 10
跳转后当然也要返回目录表来才方便,因此要在每张工作表里在添加一个超链接返回到目录表。 首先这里要说明下,工作表可能有的第一行有数据有的则可能没有,因此最好的方法是都新加一行空白行作为超链接所在行,具体操作如下:
- 11
首先全部选中要操作的工作表,按住shift鼠标点击第一张表,然后再点下最后一张表,这样就全部选中了,然后在第一行右键插入,这样所有的工作表里就多了一行空白行作为首行了,然后再A1里面输入公式 =HYPERLINK("#目录!A1","返回") 这样就全部完成了所有表的返回超链接了。
- 12
完成好后,如果选择不存在的工作表后面的连接会提示引用无效(如图十六),那么如何避免这一情况呢,只要根据前面是否为空做个简单的if判断就可以了
- 13
公式如下 =IF(A2="","",HYPERLINK("#"&A2&"!A1","转到")) 这样一个含有工作表目录并能直接超链接到对应工作表的工作簿就完成了。