Excel_创建目录方法
- 格式:doc
- 大小:634.00 KB
- 文档页数:11
Excel2007快速创建目录1.“新建名称”窗口中输入名称“工作表名”,在引用位置中则输入公式=INDEX(G ET.WORKBOOK(1),$A1)&T(NOW()),单击确定即可定义出一个名为“工作表名”2.在“目录”工作表的A1单元格输入1,在B1单元格输入公式=IFERROR(HYP ERLINK(工作表名&"!A1",RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))),"")。
公式表示当名称“工作表名”的值为错误值时显示为空“”,3.单击C1 单元格,输入:=HYPERLINK("#'"&B1&"'!C2",B1)关键词(结合后面两篇,输入以下关键词)4.工作表名,=INDEX(GET.WORKBOOK(1),$A1)&T(NOW())5. =IFERROR(HYPERLINK(工作表名&"!A1",RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))),"")6.=HYPERLINK("#'"&B1&"'!C2",B1)有时候无法链接是因为,文件被隐藏。
我们经常把同类相关Excel工作表集中保存在同一文档中,以便于在各表格间进行引用、查看。
当一个文档中的工作表达到一定数量时,要想找到需要的工作表就变得很麻烦了。
此时若能建立一张“目录”工作表显示所有工作表的名称和链接,事情将会简单很多。
下面介绍一种可以快速为Excel工作簿创建工作表目录的方法。
定义名称打开Excel 2007,右击第一张工作表标签选择“重命名”,把它重命名为“目录”工作表。
选中B1单元格,切换到“公式”选项卡,单击“定义名称”,在弹出的“新建名称”窗口中输入名称“工作表名”,在引用位置中则输入公式=INDEX(GET. WORKBOOK(1),$A1)&T(NOW()),单击确定即可定义出一个名为“工作表名”的名称(图1)。
公式中GET.WORKBOOK(1)用于提取当前工作簿中所有工作表名称,INDE X函数则按A1中的数字决定要显示第几张工作表的名称。
此外,由于宏表函数GET.WORKBOOK(1)在数据变动时不会自动重算,而NOW()是易失性函数任何变动都会强制计算,因此我们需要在公式中加上NOW()函数才能让公式自动重算。
函数T()则是将NOW()产生的数值转为空文本以免影响原公式结果。
注:宏表函数GET.WORKBOOK,不能直接在单元格公式中使用,必须通过定义名称才能起作用。
目录设置在“目录”工作表的A1单元格输入1,在B1单元格输入公式=IFERROR(HY PERLINK(工作表名&"!A1",RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))),"")。
公式表示当名称“工作表名”的值为错误值时显示为空“”,否则创建指向“工作表名!A1”的超链接并显示该“工作表名”。
然后选中A1:B1单元格,把鼠标指向选中区右下角的“填充柄”按住鼠标左键向下拖动到300行,把公式和编号填充出300行,在A、B列就会马上自动列出所有工作表目录(图2)。
单击相应工作表名称即可快速切换到该工作表中。
请参照可能的最多工作表个数来决定向下填充行数,一般300个应该够了。
注:公式中RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))这段函数的作用是除去“工作表名”中“]”以前的内容。
若你不介意工作表名称前显示“[B OOK1.xlsx]”一类内容的话,可以把B1中的公式简化成=IFERROR(HYPERLINK (工作表名&"!A1",工作表名),"")。
保存设置切换到“开始”选项卡适当设置一下目录中的字体、字号和颜色等等,建议把字号放大并设置加粗以便查看,还要调整一下A:B列的列宽以便完全显示工作表名称。
然后右击其他工作表标签选择“删除”,把所有其他工作表全部删除只保留一张“目录”工作表。
最后单击“Office”按钮,选择“另存为”,在弹出的另存为窗口中选择保存类型为“Excel启用宏的模板(*.xltm)”格式、文件名为“目录.xltm”,保存到C:\Program Files\Microsoft Office\Office12\XLSTART文件夹下,关闭Ex cel 2007退出。
若你的Office不是按默认路径安装,请按实际安装路径修改。
三秒创建目录以后要为工作簿创建目录就简单了,只要用Excel 2007打开要创建目录的工作簿,在第一张工作表的标签上右击选择“插入”,在“插入”窗口中双击选择“目录”,即可在第一张工作表前插入一张“目录”工作表,并显示出所有工作表目录。
这操作有3秒就够了吧?在“目录”工作表中,可通过对目录进行筛选、排序、查找来快速找到工作表名,然后单击工作表名即可打开相应工作表。
创建目录后,在这个工作簿中增加、删除工作表或者修改工作表名称,“目录”工作表中的工作表目录都会自动更新。
此外,前面我们只复制了300行目录公式,因此工作表总数超过300个时,超出的工作表名就不会显示了,得把“目录”工作表中A1:B1的公式再向下复制填充才行。
由于宏表函数GET.WORKBOOK(1)是通过宏功能起作用的,所以插入了工作表目录的文档最后都必须以“Excel启用宏的工作簿(*.xlsm)”格式另存,这样下次打开时才能正常显示工作表目录。
此外,打开工作簿时,Excel 2007默认会禁用宏,得单击警告栏中的“选项”按钮,选中“启用此内容”单选项,确定后才能显示工作表目录。
=HYPERLINK("#'"&B1&"'!C2",B1)微软目录做法以工作簿目录为例,如果要为工作表(sheet)做一个目录,我们会使用函数:=INDEX(GET.WORKBOOK(1),!$A1)公式中GET.WORKBOOK(1) 用于提取当前工作簿中所有工作表名称,INDEX 函数会按A1 中的数字决定要显示第几张工作表的名称。
但由于宏表函数GET.WORKBOOK(1) 在数据变动时不会自动重算,目录无法自动更新。
怎么办呢?这时,我们可以使用易失性函数。
例如表示当前时间的函数NOW(),借助于当前时间的不断变化来实现对任何变化的强制计算。
再加上函数T(),将NOW() 产生的数值转为空文本以免影响原公式结果。
所以改进后的index 函数表现为:=INDEX(GET.WORKBOOK(1),!$A1)&T(NOW())注:宏表函数GET.WORKBOOK,不能直接在单元格公式中使用,必须通过才能起作用。
具体如下:1.如图所示,选中B1 单元格,切换到“公式”选项卡,单击“定义名称”。
2.在弹出的新建名称窗口中输入名称,如“目录”。
在引用位置中则输入公式=INDEX(GET.WORKBOOK(1),!$A1)&T(NOW()),单击“确定”即可定义出一个名为“目录”的名称。
3.回到当前页面后,选中B1 单元格,在“用于公式”下拉菜单中,单击刚刚新建的“目录”公式。
4.单击单元格右下角的十字形图标下拉拖出很多行(有几个sheet 就拖出几行)。
这时候在B1 到Bn 行,会显示出每个sheet 的字符串名称。
前一篇文章如何实现index 函数自动更新介绍了如何为工作簿中的多个工作表做索引目录。
在实际生活中,我们一般会进一步为各项目录加上超链接以方便跳转操作。
除了逐一右击添加超链接之外,更快捷的方法是使用Hyperlink 函数。
可不少同学应用函数时,总收到报错信息,如“引用无效”。
哪里出问题了呢?关于Hyperlink 函数的使用,官方网站上有详细的参数说明,下面小易就以前一篇的目录设置为例,详细解释一下如何在同一工作簿内部各工作表间实现Hyperlink 链接。
在前一篇文章中,我们了解了如何制作目录。
我们希望实现这样一种功能:单击某个工作表名称就直接跳转到相应的工作表。
可以这么做:1.单击C1 单元格,输入:=HYPERLINK("#'"&B1&"'!C2",B1)这里使用了HYPERLINK(link_location,friendly_name)第一个参数Link_location 是超链接文件的路径和文件名,或要跳转的单元格地址。
特别要注意:o# 表示引用的工作表在当前工作簿中o'"&B1&"'! 表示B1 对应的工作表,不要漏掉任何一个符号o C2 表示的是B1 对应的工作表中C2 单元格。
Hyperlink 函数必须要具体链接到工作表中的某一单元格,不过这个单元格可以任意指定。
第二个参数是随意指定的字符串或某一单元格的值,是你希望在超级链接单元格中显示的内容。
为了示例清晰,我们仍调用B1 单元格的内容。
上述参数中任一错漏都会导致报错,请一定要留心符号的输入哦。
2.完成后单击回车键,即可看到C1 生成了淡蓝色的超链接。
3.单击超链接跳转到相应的工作表。
然后选中C1 单元格,将鼠标移动到右下角,变成黑色十字时往下拖动生成多行超链接。
结合前面非微软目录做法(引用无效)生成目录,后面,按微软在c1输入=HYPERLINK("#'"&B1&"'!C2",B1),即可生成超链接。