【问题标题】:Unsure of how to use cell data to get data from another worksheet不确定如何使用单元格数据从另一个工作表中获取数据
【发布时间】:2013-05-13 19:20:28
【问题描述】:

这是一种奇怪的功能,我以前从未尝试过使用,所以如果不使用示例,我不确定如何进行询问。

基本上,我有一列字符串表示此 .xls 文件中的数据表。每行中都有与所述列中命名的数据表相对应的数据。如果我的解释不充分,这里有一个例子:

Worksheet 1 : Worksheet 1 Value 1 : Worksheet 1 Value 2 : .......
Worksheet 2 : Worksheet 2 Value 1 : Worksheet 2 Value 2 : .......
etc...

目前,电子表格要求您手动更新每列的工作表引用以填充数据,即对于每个单元格,我需要手动填写此等式中的工作表名称:

='Worksheet 1'!B111

这可行,但显然不是最理想的,因为我有大量工作表。我想要做的是能够填写单元格 1(工作表名称)并让所有其他单元格使用工作表名称作为其参考,如下所示:

Column A      : Column B : Column C : ...
"Worksheet 1" : =A1!B111 : =A1!B34  : ...
"Worksheet 2" : =A2!B111 : =A2!B34  : ...

第一个问题:这可能吗?

第二个问题:如何?

很抱歉,如果这个问题已经得到解答,但我一开始几乎不知道如何提出这个问题。

【问题讨论】:

  • 另外,作为一个子问题,有没有办法自动生成页面上的条目?例如。我可以设置一个系统,这样我就可以按下一个按钮(或其他东西),excel会自动填充上述“A列”与每个工作表名称?

标签: excel excel-formula worksheet-function


【解决方案1】:

您可以使用 INDIRECT() 函数。使用单元格 A1 中的文本 Worksheet 1,您可以使用

=indirect("'"&$A1&"'!B111")

由于工作表名称可以包含空格,因此您需要以单引号开始 Indirect 的文本,在单元格后面附加工作表名称,然后附加结束单引号、感叹号,最后是单元格引用。

如果 A 列中的所有单元格都引用 B111,只需向下复制公式并更改 A 列中的工作表名称。复制公式并将 B111 的单元格引用调整为所需的值,然后再向下复制。

如果您想使用这些值预先填充工作表,请启动宏记录器,创建一个新工作表,转到现有工作表并将所有内容复制并粘贴到新工作表中,然后停止宏记录器。这将为您提供所需代码的起点。

【讨论】:

  • 效果很好——不过请注意,如果有人像我一样无知,那么实际的等式是: =indirect("'"&$A1&"'!B111") 。丢失的&符号让我失望了一个ibt
  • 感谢您发现这一点。我将缺少的& 符号放入公式中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
相关资源
最近更新 更多