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)