如何引用表列标题名称和表行号?

时间:2019-08-26 14:11:43

标签: excel excel-formula

我正在尝试使用其他工作表中现有表中的数据填充新工作表中的新表。我需要引用列标题名称,因为列的位置可能会更改。

我目前有这个:

=TableName[@[ColumnHeaderName]]

这有效,但是问题是当我尝试对新表中的任何列进行排序时,它没有排序,因为它引用了现有表中的同一行。我猜我需要引用列名和行号,但是当我尝试“ = TableName [@ [ColumnHeaderName]] 2:2”时,它显示#VALUE!。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您似乎正在使用excel表(即ListObjects)。
公式:

=TableName[@[ColumnHeaderName]]

是指
-表格:TableName
-列:ColumnHeaderName
-行:Row所在的Worksheet所在单元格的Table行。

因此,如果TableName标头位于Sheet1的第6行,并且在Sheet2的第8行中输入了公式,它将返回列ColumnHeaderName中的值, Sheet1的第8行,即Table.Body(ei DataBodyRange)的第2行

要返回ColumnHeaderName的列TableName中的第一个值,请使用以下公式:

=INDEX(TableName[ColumnHeaderName],1)

TableName[@[ColumnHeaderName]]引用表的同一行,
TableName[ColumnHeaderName]指整列。
此外,以上任何公式均不包含表的标题。
要引用标题,请使用:

=TableName[[#Headers],[ColumnHeaderName]]

如果要引用整个标题,请使用:

=TableName[#Headers]

由于您要在另一个excel表中输入公式,因此将其命名为Table2,以便动态更新行号,请输入以下公式:

=INDEX(TableName[ColumnHeaderName],ROW()-ROW(Table2[#Headers]))