我有多张数据,我想在一张纸上制作(所有这些都在同一张工作簿中)。 Link to the excel file
我尝试在excel文件中使用Hlookup
函数,如下所示:
=HLOOKUP("University",Sheet1!$A$1:$G$2, 2, FALSE).
但是,由于我有超过100张数据,我想找到一种方法来拖动函数并自动生成第二行下面的函数。我试图通过在前面设置一个参考列来使用间接功能,但不能处理它。
=HLOOKUP("University", 'INDIRECT(A3)'!$A$1:$G$2, 2, FALSE)
我的下一个选项是VB代码。但是,我是VB的新手。有人可以提供帮助吗?
答案 0 :(得分:1)
将您的单个工作表名称放在INDIRECT("'"&$H2&"'!A1:G"&$I2)
工作表的H列和第I列的行编号(作为帮助列)中,并将此公式写在摘要表的单元格if (self.adCountdown != nil) {
if ([self.adCountdown isValid]) {
[self.adCountdown invalidate];
self.adCountdown = nil;
}
}
中。
if (self.adCountdown != nil) {
if ([self.adCountdown isValid]) {
[self.adCountdown invalidate];
}
}
if (self.adCountdown != nil) {
self.adCountdown = nil;
}
并拖动到F列,然后向下拖动您拥有的多个工作表行组合。我使用了10行,但显然可以使它更长或更短。
完成后,您可以在A列中过滤0并删除任何没有数据的行。
如果您的工作表名称中包含空格,则需要将transform:rotateY();
公式调整为:
transform:rotateY();
答案 1 :(得分:1)
最佳方式是“定义名称”+ 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
没有手动输入工作表名称或类似名称(只有列H:H
作为帮助者)。每次选择可以过滤掉的新工作表时,您都会获得0的行数。 (或者如果复制/粘贴值也可以删除)
+2
...st,COUNTIF($A$1:$A1,0)+2)&...
只是告诉从表2开始(如果汇总是第一个)。如果要从第一张表开始查找,可以将其更改为+1
。
答案 2 :(得分:0)
假设您已经在A列中输入了所有100多个工作表名称,无论工作表名称中是否有空格,这都将起作用:
=HLOOKUP("University", OFFSET(INDIRECT(ADDRESS(1,1,1,1,A2)),0,0,2,7),2,FALSE)