0

我在工作簿中有 5 张工作表,即Sheet1, Sheet2, Sheet3.... 在每张工作表中维护一些数据。在第一张纸中Consolidation,我需要将B3每张纸的单元格值显示在每个单元格中

表格中的Consolidation表格如下

SheetNo|    Name    | value (Value of B3 Cell of respective sheet )
       |            |
1      | Party 1    | Value of Sheet1!B3
2      | Party 2    | Value of Sheet2!B3
3      | Party 3    | Value of Sheet3!B3
4      | Party 4    | Value of Sheet4!B3
:
:
N      | Party N    | Value of Sheetn!B3
:
:
:
Z      | Party Z    | Value of SheetZ!B3

我希望这很可能通过一些单元函数来完成,而不是使用 VBA 脚本

4

3 回答 3

1

转到您的合并表:

a1: 1, a2: 2, a3: 3 etc
a2: ="Party "&a1
a3: =INDIRECT("Sheet"&a1&"!b3")
auto fill rest
于 2013-03-24T15:29:13.067 回答
0

To refer to a cell by name, you can use the INDIRECT() function, as in:

=INDIRECT("'"&$B1&"'!$B$3")

Here, B1 is the cell containing the name of your sheet. The expression inside the parentheses will evaluate to, for example, 'Party 1'!$B$3. INDIRECT() will expand that to the actual value of cell B3 in sheet Party 1.

The extra single-quotes are required to deal with the spaces in your sheet names.

于 2013-03-24T15:27:37.550 回答
0

除非我遗漏了一些东西,否则你不是已经用你的例子回答了吗?

=SheetName!Address将返回Addresson的值SheetName

如果你想让它更动态一点,这样你就不必手动填写工作表名称,你可以做这样的事情。

=INDIRECT("Sheet" & Row() & "!$B$3")

但是它只会做数字表名称。(除非 N 和 Z 只是数字,否则没有问题)

刚看了看,你有下一个表号,所以Column A你可以替换Row()$A$1

于 2013-03-24T15:26:29.490 回答