2011-03-10 64 views
1

我在一个工作簿中有30张纸。在Sheet1中,如何使用公式返回同一工作簿中其他29张工作表的工作表名称?我的首选是不使用udf或vba。多个表名参考

这是我使用返回活动工作表的名称公式:

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,25)

我修改公式如下:

=MID(CELL("filename",'Sheet 1'!A1),FIND("]",CELL("filename",'Sheet 1'!A1))+1,25)

但是当我使用这个公式,我会看到一个标题为“更新值:工作表1”的消息框 - 实质上是提示我选择工作簿。一旦我选择工作簿,系统会提示我选择工作表。一旦我这样做,公式返回#N/A。我尝试保留工作簿,但结果相同。

+0

现在,他们伸手功课Excel中的帮助文件?这是什么课程? (对不起,这个问题没有答案) – Thilo 2011-03-10 07:22:04

回答

0

你可以使用一个不起眼的XL4功能,GET.WORKBOOK在活动工作簿返回表的一个列表,而不是如下:

定义所谓的“WorksheetNameList”使用公式范围名

=GET.WORKBOOK(1) 

然后,在你Sheet1使用公式单元格A1

=MID(INDEX(WorksheetNameList,ROW(A1)),FIND("]",INDEX(WorksheetNameList,ROW(A1)))+1,32) 

,然后将公式向下拖动直到找到第30行(或者获得#REF!)。

我通常不会推荐使用XL4函数,因为它们随时可能会随着新的Excel版本消失,但是在此基于您的问题的限制使用它们。

如果你想上还有什么GET.WORKBOOK可以返回更多信息,请看看它位于http://www.microsoft.com/downloads/details.aspx?FamilyID=c09bf7f7-d30e-4ce9-8930-5d03748ca5cd