不确定如何使用单元格数据从另一个工作表中获取数据

时间:2013-05-18 21:24:09

标签: excel excel-formula worksheet-function

这是一种奇怪的功能,我以前从未尝试过,所以我不知道如何不用一个例子来提问。

基本上,我有一列字符串表示此.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

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

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

第一个问题:这可能吗?

第二个问题:如何?

很抱歉,如果已经回答这个问题,但我几乎无法弄清楚如何提出这个问题。

1 个答案:

答案 0 :(得分:1)

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

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

由于工作表名称可以包含空格,因此需要使用单引号启动间接文本,使用工作表名称附加单元格,然后附加结束单引号,感叹号mard以及最后单元格引用。 / p>

如果A列中的所有单元格都引用B111,只需复制公式并更改A列中的表单名称。复制公式并将B111的单元格引用调整为复制前的所需内容。

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