列出Excel电子表格的具体表格名称

我有一个有点工作的解决scheme来检索Excel电子表格中的所有工作表名称,而不使用macros的或VBA。 我find了几个解决scheme,但都要求将文件保存为支持macros的电子表格或外部工具。

我的解决scheme是迄今为止:我的第一张表被称为“第一”,我的最后一张被称为“最后”。 在我之间有几张随机的名字。 这两张纸在A1 Cell之间有如下公式:

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"\" 

第一张纸在B1中有以下公式:

 ="\" &CONCAT(First:Last!$A$1) 

而在B2到Bx的公式如下:

 =IF(ISERROR(FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()))),"",MID($B$1,FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1))+1,FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()))-FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1))-1)) 

解释这个:

 FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()-1)) 

在$ B $ 2中获取相对于该行的string“\”的出现。 在A2这是第一次出现。

 LEN($B$1)-LEN(SUBSTITUTE($B$1,"\","")) 

获得$ B $ 2中“\”的出现次数

 ISERROR(FIND(CHAR(1),SUBSTITUTE($B$1,"\",CHAR(1),ROW()))) 

使值为空,从而可以创builddynamic命名范围。 我使用下拉菜单和图表

对于最终用户,我隐藏了第一个和最后一个选项卡,以免意外打破工作表。 不知何故,这一切工作,但也许任何人有一个更好的解决scheme。 看起来有点矫枉过正 有谁知道更好的解决scheme?

Thnx,Jorden

这只是一个select:

在每张表格的A1中input:

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

在第一张表A2中input:

 =TEXTJOIN("*",TRUE,First:Last!A1) 

在第一张纸的A3中input:

 =TRIM(MID(SUBSTITUTE(A$2,"*",REPT(" ",999)),ROWS($1:1)*999-998,999)) 

并抄下来:

在这里输入图像说明

(我不知道这是否更简单。)