(Excel) 引用另一个工作表中的单元格时,我可以将工作表名称作为单元格值传递吗?
Posted
技术标签:
【中文标题】(Excel) 引用另一个工作表中的单元格时,我可以将工作表名称作为单元格值传递吗?【英文标题】:(Excel) When referencing cells from another worksheet, can I pass the worksheet name as a cell value? 【发布时间】:2013-08-29 03:57:44 【问题描述】:我有一个工作簿,其中包含大约十个工作表,每个工作表都包含每个用户的信息,以及作为用户界面的第十一个工作表。在第 11 页(称为“界面”)上,我有一个下拉框,其中包含所有用户名的列表。当用户选择名称时,我希望通过将接口中的单元格链接到“用户名”中的单元格来自动填充单元格。
例如,假设用户在 A1 中的下拉菜单中选择“Ethan”。 A3 会自动填充 Ethan!A5,所以我基本上是在寻找一种将 A1!A5 (Ethan A5) 输入 Interface:A3 的方法。
这可能吗?
我希望我不必使用 VB 来执行此操作。尽管我在 excel 中使用过各种公式,但我对 VB 作为一种语言几乎没有经验。
【问题讨论】:
如果您不想为此使用 VBA,那可能不是编程问题 :-) 【参考方案1】:如果只想获取文本“Ethan!A5”,可以使用连接函数:
=CONCATENATE(A1,"!A5")
或者使用&
的这个函数的简写形式:
=A1&"!A5"
但是,如果您想获得引用单元格 Ethan!A5
的公式,那么您必须使用 INDIRECT()
以及我上面提到的任一公式:
=INDIRECT(CONCATENATE(A1,"!A5"))
或者……
=INDIRECT(A1&"!A5")
在任何一种情况下,使用单引号将工作表名称括起来通常更安全(我将在下面放置较短的公式):
=INDIRECT("'"&A1&"'!A5")
因为没有引号,名称为 Ethan Schmid
的工作表将无法使用公式。
【讨论】:
【参考方案2】:A3 中的=A1&" A5"
似乎是您所要求的。
【讨论】:
以上是关于(Excel) 引用另一个工作表中的单元格时,我可以将工作表名称作为单元格值传递吗?的主要内容,如果未能解决你的问题,请参考以下文章