Excel 使用单元格中的字符串值访问同名工作表

Excel 使用单元格中的字符串值访问同名工作表,excel,worksheet-function,Excel,Worksheet Function,我有两张工作表:摘要和SERVER-ONE 在汇总工作表的单元格A5中,我添加了值SERVER-ONE 在它旁边的单元格B5中,我想要一个公式,它使用A5中的值在同名工作表(SERVER-ONE)中显示G7的值 我可以手动使用: ='SERVER-ONE'!G7 然而,我希望这是动态的,所以我可以轻松地添加更多的工作表 我尝试了显而易见的方法,但毫无乐趣: ='A5'!G7 有什么建议吗?您需要间接功能: =INDIRECT("'"&A5&"'!G7") 您可以使用公式IN

我有两张工作表:
摘要
SERVER-ONE

在汇总工作表的单元格
A5
中,我添加了值
SERVER-ONE

在它旁边的单元格
B5
中,我想要一个公式,它使用
A5
中的值在同名工作表(
SERVER-ONE
)中显示
G7
的值

我可以手动使用:

='SERVER-ONE'!G7
然而,我希望这是动态的,所以我可以轻松地添加更多的工作表

我尝试了显而易见的方法,但毫无乐趣:

='A5'!G7

有什么建议吗?

您需要
间接
功能:

=INDIRECT("'"&A5&"'!G7")

您可以使用公式
INDIRECT()

这基本上接受一个字符串并将其作为引用。在您的情况下,您将使用:

=INDIRECT("'"&A5&"'!G7")

双引号表示里面是字符串,只有
A5
这里是一个参考。

间接是您想要使用的函数。像这样:

=INDIRECT("'"&A5&"'!G7")

使用间接法,您可以将公式构建为文本字符串。

Guess@user3010492对其进行了测试,但我将其用于固定单元格A5-->$a$5和固定元素G7-->$G7


如果用括号括起来,也可以很好地嵌套在其他公式中。

不确定是否解决了问题,但我发现这样做可以在拖动时增加行号

= INDIRECT("'"&$A$5&"'!$G"&7+B1)
其中B1表示索引编号,从0开始

因此,如果复制并拖动索引单元格和使用间接公式的单元格,则会增加间接公式。 您也可以使用Index函数创建一个更优雅的计数器

希望这有帮助。

通过使用
ROW()
函数,我可以垂直拖动此公式。它也可以水平拖动,因为在
D
之前没有
$

= INDIRECT("'"&D$2&"'!$B"&ROW())

“我的布局”将图纸名称作为列标题(
B2
C2
D2
,等等),并从每个图纸中的列
B
映射多个行值。

这将仅适用于列Z,但您可以水平和垂直拖动它

=INDIRECT("'"&$D$2&"'!"&CHAR((COLUMN()+64))&ROW())

这是一个使用间接的解决方案,如果拖动公式,它将相应地从目标工作表中拾取不同的单元格。它使用R1C1表示法,并且不限于仅处理A-Z列

=INDIRECT("'"&$A$5&"'!R"&ROW()&"C"&COLUMN(),FALSE)

此版本从放置公式的单元格对应的目标单元格中拾取值。例如,如果将公式放在“摘要”中!B5然后它将从“服务器一号”中获取值!B5,不是“一号服务器”!G7如原问题所述。但是,您可以轻松地在行和列中添加偏移量,以在任何情况下实现所需的映射。

在这种情况下,是否可以在抓住单元格右下角并向下拉动时自动增加G7(G8、G9等),但保持A5固定?@MartinSommervold否,您必须以某种方式进行计算。
=INDIRECT("'"&$A$5&"'!R"&ROW()&"C"&COLUMN(),FALSE)