使用数据库可能会更好地实现我想要做的事情,但是我对它们的经验非常有限,只需要不经常更改信息。
我所拥有的是一张表格,其中每行有8个相关数据单元格。
我想在另一张纸上做的是在1个单元格中输入一个数字,并让一组单元格使用该数字来引用另一个单元格中的数据。
例如,在Sheet1中我可以有以下(图1):
| A | B | C | D | E | F | G | H
-----+-----+-----+-----+-----+-----+-----+-----+-----
101 | Dep | 700 | Sta | 100 | Sta | 300 | Dep | 900
我希望在表2中通过在1个单元格中键入行号来实现,就是将这些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行×7列的列。
最后我想说的是,我希望尽可能避免像VBA这样的编程语言。
答案 0 :(得分:20)
查看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。
答案 1 :(得分: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