下面介绍一种可以快速为Excel工作簿创建工作表目录的方法。
定义名称
打开Excel 2007,右击第一张工作表标签选择“重命名”,把它重命名为“目录”工作表。选中B1单元格,切换到“公式”选项卡,单击“定义名称”,在弹出的“新建名称”窗口中输入名称“工作表名”,在引用位置中则输入公式=INDEX(GET.WORKBOOK(1),$A1)&T(NOW()),单击确定即可定义出一个名为“工作表名”的名称(图1)。
公式中GET.WORKBOOK(1)用于提取当前工作簿中所有工作表名称,INDEX函数则按A1中的数字决定要显示第几张工作表的名称。此外,由于宏表函数GET.WORKBOOK(1)在数据变动时不会自动重算,而NOW()是易失性函数任何变动都会强制计算,因此我们需要在公式中加上 NOW()函数才能让公式自动重算。函数T()则是将NOW()产生的数值转为空文本以免影响原公式结果。
注:宏表函数GET.WORKBOOK,不能直接在单元格公式中使用,必须通过定义名称才能起作用。
目录设置
在“目录”工作表的A1单元格输入1,在B1单元格输入公式=IFERROR(HYPERLINK(工作表名& amp;"!A1",RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))),"")。公式表示当名称“工作表名”的值为错误值时显示为空“”,否则创建指向“工作表名!A1”的超链接并显示该“工作表名”。
然后选中A1:B1单元格,把鼠标指向选中区右下角的“填充柄”按住鼠标左键向下拖动到300行,把公式和编号填充出300行,在A、B列就会马上自动列出所有工作表目录(图2)。单击相应工作表名称即可快速切换到该工作表中。请参照可能的最多工作表个数来决定向下填充行数,一般300个应该够了。
注:公式中RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))这段函数的作用是除去“工作表名”中“]”以前的内容。若你不介意工作表名称前显示“[BOOK1.xlsx]”一类内容的话,可以把B1中的公式简化成=IFERROR(HYPERLINK(工作表名& amp;"!A1",工作表名),"")。
新闻热点
疑难解答