使用数据库可能可以更好地实现我想做的事情,但是我对它们的经验非常有限,并且只需很少更改信息。
我拥有的是一张工作表,其中每行都有 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 行 x 7 列 block 。
最后我想说,我想尽可能避免使用 VBA 等编程语言。
最佳答案
查看 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。
关于excel - 使用单元格中的数字生成单元格引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011854/