我想使用手动输入到 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")