在多张数据中查找function

我有多张数据,我想在一张纸上(所有这些都在同一个工作簿中)。 链接到Excel文件 。

我试图在excel文件中使用Hlookup函数,如下所示:

 =HLOOKUP("University",Sheet1!$A$1:$G$2, 2, FALSE). 

但是,由于我有超过100张的数据,我想find一种方法来拖动function,并自动生成第二行以下的function。 我试图通过在前面设置一个参考列来使用间接函数,但是不能处理它。

 =HLOOKUP("University", 'INDIRECT(A3)'!$A$1:$G$2, 2, FALSE) 

我的下一个select是VB代码。 但是,我是新来的VB。 有人可以帮忙吗?

在这里输入图像说明

Summary表H列和列I中的行号(作为帮助列)中放置您的单个工作表名称,并将此公式写入汇总表的单元格A2中。

 =IFERROR(HLOOKUP(A$1,INDIRECT($H2&"!A1:G"&$I2),$I2,0),) 

并拖动到列F和向下为您有很多表行组合。 我使用了10行,但显然可以使它长或短,因为neeed。

在这里输入图像说明

完成后,可以在列A中过滤0,并删除没有数据的行。

如果您的工作表名称中有空格,则需要将INDIRECT公式调整为:

 INDIRECT("'"&$H2&"'!A1:G"&$I2) 

最好的办法就是“定义名字”+ INDIRECT + HLOOKUP (或LOOKUP

 defined names name: SList formula: =MID(TRANSPOSE(GET.WORKBOOK(1))&T(NOW()),FIND("]",TRANSPOSE(GET.WORKBOOK(1))&T(NOW()))+1,255) 

单元格中的公式:(这在A2然后简单地自动填充到G2然后一切都下来)(你会得到一个0之间的行,可以过滤或删除(复制/粘贴值))

 =IFERROR(HLOOKUP(A$1,INDIRECT("'"&INDEX(SList,COUNTIF($A$1:$A1,0)+2)&"'!$A:$G"),$H2,0),"") 

H2设置为2,对于H3 :(从H3自动填充)

 =MAX(($H2+1)*($A2>0),2) 

对我来说完美的LINK

没有手工打字sheetnames或类似的东西(只有列H:H作为助手)。 每次select一个可以过滤出来的新工作表时,你会得到0的行。 (或者如果你复制/粘贴的值也可以被删除)

+2 at ...st,COUNTIF($A$1:$A1,0)+2)&...简单地告诉从表2开始(如果摘要是第一个)。 如果要从第一张表开始查找,可以将其更改为+1在这里输入图像说明

假设您已经在列A中input了所有100多个工作表名称,则无论工作表名称中是否有空格,这都是可行的:

 =HLOOKUP("University", OFFSET(INDIRECT(ADDRESS(1,1,1,1,A2)),0,0,2,7),2,FALSE)