如何将单元格引用用作表格引用中的列?

如何将单元格引用用作表格引用中的列?

假设我有一个“数据”表(使用“格式化为表格”按钮创建,带有标题)。在另一个表(例如“表格”)中,我有一列(“目标列”),其值在“数据”表的列名中,还有一列“中位数”。在“中位数”列中,我希望获得“数据”表的“目标列”列中给出的列的中位数。

我尝试执行 Median(Data[A2]),其中 A 是“目标列”列的列索引。这当然行不通。我想类似的东西可以与 INDIRECT 一起使用,但我不确定这是最有效的解决方案。

假设我的“数据”表有“val1”、“val2”、“val3”列,而我的“表格”表有“目标列”和“中位数”列。对于“目标列”中“数据”表的任何列名,我希望将“数据”表的该列的中位数放在“表格”表的“中位数”列中。

答案1

以下任一项都应该有效:

这将在表格的Data标题行中搜索您在表格列中输入的标题。然后,它会使用该结果从表格中返回正确的列并计算该列的中位数。TargetTableData

=MEDIAN(INDEX(Data,,MATCH([@Target],Data[#Headers],0)))  

或者

这将创建您需要引用该列的公式的文本版本,然后 INDIRECT 将其更改为可以使用 MEDIAN 的公式。

=MEDIAN(INDIRECT("Data[" & [@Target] & "]"))

第一个是更好的选择,因为它不是易变的 - 即它不会在任何时候重新计算任何事物工作簿中的更改。

相关内容