我正在尝试使用其他工作表中现有表中的数据填充新工作表中的新表。我需要引用列标题名称,因为列的位置可能会更改。
我目前有这个:
=TableName[@[ColumnHeaderName]]
这有效,但是问题是当我尝试对新表中的任何列进行排序时,它没有排序,因为它引用了现有表中的同一行。我猜我需要引用列名和行号,但是当我尝试“ = TableName [@ [ColumnHeaderName]] 2:2”时,它显示#VALUE!。
任何帮助将不胜感激。
答案 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]))