假设我有一个数据集:
Margin
我希望final返回最大值的列名。在上面的示例中,3和6是最高值,因此列C将在' Final'中返回。 column.Is有一种有效的方法/公式可以用来获取列名而不使用VBA吗?真正的数据集包含60列。
答案 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)