在多张数据中查找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)