多个工作表名称参考

我在一本工作簿中有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”的消息框 – 实质上是提示我select工作簿。 一旦我select工作簿,我会提示select工作表。 一旦我这样做,公式返回#N / A。 我尝试保留工作簿,但结果相同。

您可以使用不明确的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