假設我有一個數據集:如何獲得列名基於功能
A B C Final
1 2 3 C
4 5 6 C
我想最終返回最大值的列名。在上面的例子中,3和6是最高值,所以列C將在'最終'列中返回。是否有一種有效的方法/公式可用於在不使用VBA的情況下獲取列名?真實的數據集包含60列。
假設我有一個數據集:如何獲得列名基於功能
A B C Final
1 2 3 C
4 5 6 C
我想最終返回最大值的列名。在上面的例子中,3和6是最高值,所以列C將在'最終'列中返回。是否有一種有效的方法/公式可用於在不使用VBA的情況下獲取列名?真實的數據集包含60列。
我會嘗試這樣的事情來獲得列字母。
=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))
HLOOKUP是沒有VBA的方式,但很遺憾HLOOKUP只在數組的第一行進行搜索,因此您應該在底部添加「標題欄」
A B C Final
1 2 3 <formula1>
4 5 6 <formula2>
A B C
如果數據集開始於第一個彎道,一級方程式是:
=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)
您可以使用矢量形式的LOOKUP
函數。
如果你的第一行,用A B C,就是標籤,然後:
=LOOKUP(2, 1/(MAX(A2:C2)=A2:C2),$A$1:$C$1)