批量制作Excel工作表超链接 同一工作簿下
我们上学时老师开讲前,经常会说:“请同学们翻到第七章第七节,我们今天要讲的是……”,这就是老师对照书目录找到指定教学内容。
今天Surda跟大家分享:在excel中,如何批量建立(这种形如目录的)工作表超链接。
背景:有时我们一个工作簿里放置N个工作表(N甚至可能大于100),在这种情况下标签栏无法容纳所有sheet。
构想:我们能不能在工作簿的第一个sheet里建立一个形如书目录的导般链接?
成果:文末附实例下载
| 目录 |
| GoTo 表1!A1 |
| GoTo 表2!A1 |
| GoTo Sheet4!A1 |
| GoTo Sheet6!A1 |
| GoTo Sheet5!A1 |
| GoTo Sheet8!A1 |
| GoTo Sheet7!A1 |
| GoTo Sheet9!A1 |
| GoTo Sheet10!A1 |
点击链接到达指定的工作表。
实现方法非常之简单,一公式即定。
=IF(ROW()>COUNTA(AllShs),”",HYPERLINK(“#”&INDEX(AllShs,ROW())&”!A1″,”GoTo “&INDEX(AllShs,ROW())&”!A1″))
在任意单元格输入以上公式,下拉。
公式的中文解析 – 判断行号大于工作表数量则置空,不然,则运用HYPERLINK函数为工作表建立超链接。公式中AllShs为定义的名称,也是关建所在。
实现步骤
一、定义名称
CTRL+F3 – 新建名称
名称:AllShs
范围:工作簿
引用位置:=REPLACE(GET.WORKBOOK(1),1,FIND(“]”,GET.WORKBOOK(1)),)&T(NOW())
/*—–
GET.WORKBOOK(1)是宏表函数,以[Book1.xls]Sheet1的形式返回工作簿中所有工作表名的水平数组;
REPLACE(GET.WORKBOOK(1),1,FIND…是为了去掉前面的工作簿名,只保留工作表名;
T(NOW())=”" 不影响公式结果,而NOW是易失性函数,可以使工作表改名或增加、删除、移动工作表时,公式能自动重新计算。
—–*/
二、输入上述公式,下拉,OK。
实例下载 批量制作工作表超链接
注意:该方法使用了宏表函数get.workbook(),需要启用宏。如果你的Excel宏安全性设置为高或禁止宏,则无法使用。
你的博客关于Excel的好多啊,我得保存起来以后慢慢看。
确实有很多有用的技巧
@末路花未央
@BoKeam
博文主题是关于Excel 自然会多一些 希望用的着 :)
哈哈,这个我会,话说这超链接是互联网的精髓啊!
这个技巧,很好! 以前还有人问我呢!我不会弄!呵呵。
下载练习去了!
@学夫子
好样的
@joyla
原始的方法就是一个一个添加,这个更智能
@joyla
慢慢研究哈
收藏了以后有用··哈哈现在没有机会玩这个
@Surda
看出来了,呵呵! 我明天才实践,呵呵!新主题 很养眼!
不错,很好
@哲哲
这个实用性 应该强 以后用到的机会多
@joyla
哈哈 正好周末 好好研究
@绿瘦减肥胶囊效果怎么样
啧 啧 啧 你这名称……
不错。。下次试试
@飞猪
呵呵 必须的
很不错,楼主真聪明,辛苦了,谢谢
能否请教啊,我是一个工作簿里多个表,表一的B列有关键字,比如ID号之类的,而表2则是对这些ID号的详细说明,两个表ID号的排列顺序是不一样的,我要怎么做到,当我点击表一B列中的任何一个ID号时,就能跳到表2有相同ID号的那个单元格上去呢?我原本用的是vlookup,但是因为表格中数据很多,用了这个公式后,运行的非常非常慢。请指点指点啊!!
补充说下,表的大致格式如下:表1,A列是顺序号,B列是ID号,表2的D列是对应的ID号,数值是和表一的一样,唯独顺序不一样。我想点击表一的B列里任何一个ID号时,可以转到表2中D列有相同ID号的那行。如何做到链接,最好是批量的,因为我有几万行数据,一个一个添加要人命哦
@aloe
这个需要使用在超链接里使用查找函数,按你的要求需要定位行号,用MATCH()函数
不需要用VLOOKUP()
1.在A表ID列后新建一辅助列,输入如下公式:
=HYPERLINK(“#表2!a”&MATCH(B1,表2!D$1:D$10,),表1!B1)
2.在表2中应用条件格式定位行(操作细节可参考:http://surda.cn/2010/05/excel-tiaojiangeshi/)
PS:稍后会更新针对此问题的博文