如何根据函数获取列名

时间:2016-09-19 18:42:59

标签: excel

假设我有一个数据集:

Margin

我希望final返回最大值的列名。在上面的示例中,3和6是最高值,因此列C将在' Final'中返回。 column.Is有一种有效的方法/公式可以用来获取列名而不使用VBA吗?真正的数据集包含60列。

3 个答案:

答案 0 :(得分:0)

我会尝试这样的方法来获取专栏信。

=SUBSTITUTE(ADDRESS(1,MATCH(MAX(A3:C3),A3:C3,0),4),1,"")

如果您想要标题,我认为这是一种更简单的方法,但是此扩展名为

=INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH(MAX(A3:C3),A3:C3,0),4),1,"")&1)

对于标题,更好的方法

=INDEX(A1:C1,1,MATCH(MAX(A3:C3),A3:C3,0))

答案 1 :(得分:0)

HLOOKUP是一种没有VBA的方式,但遗憾的是HLOOKUP只搜索数组的第一行,所以你应该在底部添加“标题列”

A B C Final
1 2 3 <formula1>
4 5 6 <formula2>
A B C

如果数据集从第一个角开始,则Formula1将为:

=HLOOKUP(MAX(A2:C2);A2:C4;2;FALSE)

Formula2将是

=HLOOKUP(MAX(A3:C3);A3:C4;1;FALSE)

等...

=HLOOKUP(MAX($A3:$C3);$A3:$C$4;<manual change here backward>;FALSE)

答案 2 :(得分:0)

您可以使用LOOKUP函数的矢量形式。

如果您的第一行(A B C)是标签,那么:

=LOOKUP(2, 1/(MAX(A2:C2)=A2:C2),$A$1:$C$1)