使用单元格中的数字生成单元格引用

21

我想要做的事情可能更适合使用数据库完成,但是我对它们的经验非常有限,并且只需要偶尔更改信息。

我手头有一张表格,每行都有8个相关数据单元格。

我想在另一个表格中输入一个数字到一个单元格中,然后使用该数字参考另一个表格中的数据来填充下面的一组单元格。

例如,在Sheet1中我可以有以下内容(图1):

     |  A  |  B  |  C  |  D  |  E  |  F  |  G  |  H
-----+-----+-----+-----+-----+-----+-----+-----+-----
 101 | Dep | 700 | Sta | 100 | Sta | 300 | Dep | 900

我想在第二个表格中通过在一个单元格中输入行号,使那8个单元格下面的数据被复制,例如(图2):

     |  A  |  B  |  C  |  D  |
-----+-----+-----+-----+-----+
  1  | "Row Number"          |
-----+-----+-----+-----+-----+
  2  | =A# | =B# | =D# | =C# |
-----+-----+-----+-----+-----+
  3  | =E# | =F# | =H# | =G# |
-----+-----+-----+-----+-----+

是的,我知道上面的公式没有涉及到另一个表格——这是为了节省空间。

如果使用上述示例行,则应该像这样(图3):

     |  A  |  B  |  C  |  D  |
-----+-----+-----+-----+-----+
  1  | 101                   |
-----+-----+-----+-----+-----+
  2  | Dep | 700 | 100 | Sta |
-----+-----+-----+-----+-----+
  3  | Sta | 300 | 900 | Dep |
-----+-----+-----+-----+-----+

那么,在上面的例子中(图3),我需要在A2-D2和A3-D3单元格中输入什么公式,才能自动使用A1中的数字作为单元格引用的一部分,以打印其他工作表中的数据。

这样说清楚了吗?希望是的,因为我需要在我的第一个工作表中输入超过300行数据,并且在第二个工作表中还有另外70行x7列块的数据。

最后,我只想说我希望尽可能避免编程语言,比如VBA。

2个回答

27

请查看INDIRECT()函数。

对于第二张工作表上的单元格A2,请输入:

=INDIRECT("Sheet1!"&"A"&$A$1)

通过将"&"A"部分更改为您的网格中根据以下示例需要引用Sheet1的B、C、D等列,将此公式扩展到其他目标单元格:

=INDIRECT("Sheet1!"&"B"&$A$1)
=INDIRECT("Sheet1!"&"C"&$A$1)
=INDIRECT("Sheet1!"&"D"&$A$1)

这些公式将引用您在单元格A1中选择的“行号”,并从Sheet1中提取相关数据到Sheet2中。


谢谢。我回来这里发帖,说我在更多搜索后找到了类似的东西,但我仍然不确定如何引用第二张表。这解决了一切。非常感谢。 - Escribblings

2
您可以使用INDIRECT函数来实现此操作。
Returns the reference specified by a text string. 
References are immediately evaluated to display their contents. 
Use INDIRECT when you want to change the reference to a cell within a 
formula without changing the formula itself.

http://office.microsoft.com/en-gb/excel-help/indirect-HP005209139.aspx


谢谢,我已经跟随那个链接了,但是不知道如何仅使用INDIRECT来处理一半的数据。Derrik在上面的帖子中解决了这个问题。 - Escribblings

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接