Excel 2007在多行上使用间接引用

在Excel 2007中我使用以下公式来引用同一工作簿中其他工作表中的单元格:

=INDIRECT($B$2&"!A9") 

B2包含工作表的名称,包含目标单元格(我想把它变成一个模板,所以我不input公式中的名字)。 该公式的作品,但我想在多行使用相同的公式(A10,A11,A12 A1000)。 我在多行使用相同的代码,但与不同的字段(B9,C9等),以及各种不同的内容types(数据,数字,文本)。

公式的替代版本如下:

 ='Worksheetname'!A9 

但是,这又要求硬编码工作表的名称,这对我来说是不可取的。

由于行的绝对数量手动编辑是不是一个select:有没有办法改变这个公式,所以我可以很容易地在多行使用它? 最好不使用VBA,但这不是必需的。

如果您的logging位于两个工作表中的相同单元格中,则可以使用类似以下的内容:

 =INDIRECT($B$2&"!"&ADDRESS(ROW();COLUMN())) 

如果现在,那么您可以使用给定的ADDRESS函数轻松地抵消它们

PS请注意与INDIRECTfunction,它会减慢你的工作簿上的计算性能(几个function是好的,但如果你有10,000个,那么你可能会看到一些延迟)

如果你想为几列使用相同的公式,你可以包括这样的东西:

 =INDIRECT("'"&$B$2&"'!"&ADDRESS(MATCH($B4;INDIRECT(CONCATENATE ($B$2;"!";"B:B"));0);MATCH(B$3;INDIRECT(CONCATENATE($D$2;"!";"A3:AR3"));0))) B2=reference to sheet name B4=first row for your data B3=Column header