表名再多也不怕!一条公式提取所有工作表名
函数说明
get.workbook返回工作簿的一些信息,语法如下,有2个参数:
GET.WORKBOOK(type_num, name_text)
第1参数type_num:代表信息类型的一个数字,有多种类型。常用的有1,3,38。更多的类型参考文件的sheet2。
第2参数name_text:打开的工作簿的名字。如果省略,默认为当前工作簿。通常是省略的。
示例解释
1.提取所有工作表名
提取出所有工作表名,但不包含工作簿名,如下图所示。有了get.workbook(1)的结果,提取出工作表名就简单了。可以将工作簿名替换掉,也可以将工作表名提取出来。
这里是将工作表名提取出来,公式为:
=IFERROR(INDEX(MID(allbm,FIND("]",allbm)+1,99),ROW(A1)),"")
首先用find找到右中括号"]"的位置,然后用mid从右中括号"]"的后面1位开始提取,提取的长度是99。这样就把工作表名提取出来了。
MID(allbm,FIND("]",allbm)+1,99)返回的结果为{"Sheet1","Sheet2","财务部","行政部","技术部","客服部","培训部","人事部","生产部","市场部","销售部","信息部"}。还是一个数组。
接下来就用index从这个数组中提取第1个表名,第2个表名。。。一直提取完。当所有的表名都被提完后,公式再下拉,就会出错,所以最后用iferror来处理错误值。
如果你对上面的数组公式不理解,也可以用下面的公式:
=IFERROR(MID(INDEX(allbm,ROW(A1)),FIND("]",INDEX(allbm,ROW(A1)))+1,99),"")
链接:
https://pan.baidu.com/s/1wJI1FYi9kTpJSg3dTQfzyw