Excel 2007建立目录工作表实用技巧
2007-11-27 22:03:28 来源:WEB开发网前段时间学校搞了一次大型考试,所有班级的考试成绩都放在一个Excel2007工作簿中,一个班级为一个工作表。这样,这个工作簿中就有了几十个工作表。现在麻烦也就有了,要想查个成绩什么的,那就得在这几十个工作表中来来回回地翻找,非常麻烦。如果能弄个工作表的目录,列出所有工作表的名称,想查哪个班的成绩,直接在相应的名称上点击,那多好啊。
其实,在Excel2007中,我们完全可以做出这样的目录的。实现起来也并不是特别困难,只需要如下的几个步骤:
第一步:点击功能区“公式”选项卡“定义的名称”功能组“定义名称”按钮,打开“新建名称”对话框。如图1所示,在“名称”输入框中输入定义的名称“mingcheng”,然后在下方的“引用位置”输入框中输入“=get.workbook(1)”。点击确定按钮,关闭对话框。
get.workbook(1)能以数组形式返回工作簿中所有工作表的名称。不过这个函数并不能在单元格的编辑栏中直接使用,因此我们必须先给它一个定义一个名称。定义此名称以后,只要我们在单元格的编辑栏中输入公式“=mingcheng”,选中此公式后,就可以在编辑栏看到结果。如果回车就可以看到第一个工作表的名称(包括工作簿名称)。
第二步:新插入一个工作表,作为目录工作表。在工作表中建立一个如图2所示的表格。点击C3单元格,在编辑栏输入公式“=MID(INDEX(mingcheng,ROW()-2),FIND("]",mingcheng)+1,100)”,回车后就可以得到第一个工作表的名称。
选中此单元格,向下拖动其填充句柄向下方复制公式,直到出现错误提示为止。松开鼠标后就可以得到全部的工作表的名称了,如图3所示。
此步骤中用到了几个函数,咱一个一个慢慢道来。
Row()函数可以返回当前单元格所在的行数。本例中C3单元格返回结果即为“3”,公式中“ROW()-2”所得结果即为“1”。
INDEX(mingcheng,ROW()-2)部分:mingcheng返回的结果是工作簿中全部的工作表名称数组,ROW()-2结果为“1”。本部分公式返回的结果将是工作表名称数组中的第一个结果“[2008拉练考试成绩.xls]年级汇总”。
FIND("]",mingcheng)部分:FIND函数两个参数,第一个参数是要在字符串中要查找的字符,第二个参数则是包含要查找字符的字符串。返回的结果是第一个参数在第二个参数中的位置。
还有一个函数是MID函数。其用法咱还是举一个例子吧。如公式“=MID("ABCDEF12345",3,4)”的含义即为从字符串"ABCDEF12345"的第3个字符开始截取四个字符。
所以,我们在C3单元格输入的公式其含义则是从INDEX函数返回的结果“[2008拉练考试成绩.xls]年级汇总”字符串中字符“]”右侧第一个字符开始截取100个字符。呵呵,通常情况下,工作表名称有这么多字符吧?所以,这样就可以截取取工作表名称了。
第三步:重复第一步的操作,新定义一个名称“mulu”,然后在“引用位置”输入框中输入公式“=MID(mingcheng,FIND("]",mingcheng)+1,100)”。
第四步:单击D3单元格,在编辑栏输入公式“=HYPERLINK(INDEX(mingcheng,ROW()-2)&"!A1",INDEX(mulu,ROW()-2))”,回车后得到第一个工作表的链接。然后选中D3单元格,向下拖动其填充句柄复制公式至最后,就可以得以全部工作表的链接了。单击其中一个链接,则可以打开相应的工作表,并激活A1单元格,如图4所示。
至于这个HYPERLINK函数,它也是有两个参数,第一个参数是链接的地址,而第二个参数则是显示的名称。比如公式“=HYPERLINK("[Book1]表1!C5","单击此处")”,会在当前单元格显示文字“单击此处”,点击后则跳转至“Book1”工作簿的表1工作表,并将鼠标定位于C5单元格。有个这个例子,就明白咱们在D3单元格中输入公式的含义了吧?
行了,现在目录表已经生成了。想打开哪个工作表,只要点击一下相应的名称就可以了。这下子方便多了吧?
更多精彩
赞助商链接