在使用公式查询或汇总多工作表数据时经常需要用到整个工作簿所有工作表的名称,本例介绍如何用宏表函数GET.WORKBOOK来提取工作表名称。
1、Ctrl+F3调出定义名称对话框,或者点击【 公式 】-【 定义名称 】调出定义名称对话框。
2、在【 名称 】框里输入一个定义名称(本例输入ShName),方便在工作表中引用。在【 引用位置 】处输入 =GET.WORKBOOK(1 ),设置完毕后点击【 确定】 按钮。
3、双击一个单元格,输入公式 :=INDEX(ShName,ROW(A1)), 这时就返回了包括工作簿名称的工作表名称。
4、INDEX函数使用说明:INDE(数组,第二参数)表示从数组中提取第几个元素。例如:INDEX({1,7,9},2)表示从{1,2,3}的数组里提取第2个元素,也就是7。
5、将公式修改一下,将中括号的部分去掉,只留下工作表名称。公式为 :=REPLACE(INDEX(ShName,ROW(A1)),1,FIND(],INDEX(ShName,ROW(A1))),)
6、下拉公式就可以看到顺序返回了所有工作表名称,这样就可以在其他函数中引用了。
注意: 工作簿中隐藏的工作表名称也会显示出来,本例隐藏了一个名称为“合并单元格”的工作表。
7、如果是在2007版Excel中使用宏表函数,点击保存时会弹出下面的对话框:
8、解决方案有两种:
1)选择另存为97-2003版Excel格式,也就是扩展名为.xls的格式;
2)选择另存为启用宏的工作簿。