如何在 Excel 2013 中使用单元格中的文本作为不同工作表的引用?

如何在 Excel 2013 中使用单元格中的文本作为不同工作表的引用?

我想使用手动输入到 A1 中的文本来引用来自不同工作表的同一单元格。例如..

如果 A1 包含文本“dogs”,则 B1 中的公式将有效读取 =dogs!D3 并引用名为“dogs”的工作表中的单元格 D3。如果将 A1 中的文本更改为“cats”,则 B1 将自动调整为 =cats!D3

Excel 2013。谢谢。

答案1

使用INDIRECT()。此函数接受单元格地址作为参数,并返回命名调用的内容。例如,

=INDIRECT("D3")

本质上相当于

=D3

同样,

=INDIRECT("cats!D3")

本质上相当于

=cats!D3

所以简单的答案是

=INDIRECT(A1 & "!D3")

进入调用 B1。  &是字符串连接运算符,因此,如果 A1 包含“dogs”,则A1 & "!D3"计算为dogs!D3 ,并且INDIRECT函数从“dogs”表返回该单元格的内容。

答案很简单。如果您的工作表名称中没有空格,则没有问题。但是,如果您的工作表名称包含空格,例如“fat cat”,则需要用引号将该名称括起来(使用单引号!)以引用单元格;例如,

='fat cat'!D3

因此,为了处理这种意外情况,我们只需在公式中添加引号:

=INDIRECT("'" & A1 & "'!D3")

相关内容