2013-02-18 59 views
3

我有數據,像這樣的表找到一個值:的Excel在兩個維度

 a b c d 
1 1 2 3 4 
2 5 6 7 8 
3 9 10 11 12 
4 13 14 15 16 

而且我要的是找出最大值(16)的公式在這種情況下返回其行號(4 )。我怎麼做?一個陣列中找到該行的最大 商店的價值比計算最大 - 遍歷各行:

INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)不工作:(

+0

對不起,我錯了首先。現在編輯 – user2083840 2013-02-18 15:36:15

+0

功能意味着VBA或宏。或者你需要一個公式? – 2013-02-18 15:36:16

+0

我的意思是配方!對不起 – user2083840 2013-02-18 15:39:00

回答

2

表佈局:
B1:E1:列標題
A2: A5:行標題
B2:E5:數據

陣列式:

{MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""} 

作爲詢問 「d」 的問題作爲最初的結果,相應的陣列公式如下:

{=OFFSET(A1;MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""));0)} 

Shift-Ctrl-Enter to在公式窗口中插入。曲線括號由Excel插入,而不是由用戶插入。

+0

謝謝!並感謝大家。 – user2083840 2013-02-18 16:48:12

0

好吧,我會編寫這樣的宏。試。

也許它將與公式工作了。簡單地計算最大的每一行的在一個單獨的列,然後計算最大的是列。

+0

我認爲這也是,但是沒有一個可以運作的公式嗎? – user2083840 2013-02-18 15:53:03

1

希望這附截圖是自我解釋?

enter image description here

0

嘗試這種陣列式

=MIN(IF(A1:H4=MAX(A1:H4),ROW(A1:H4)))

證實CTRL+SHIFT+ENTER

如果在A1中的MAX值的多次出現:H4則公式會給你第一行,其中它發生了

2

還有一個賤女孩的意見:

=ADDRESS(ROW(OFFSET(A1,MAX(IF(B2:E5=MAX(B2:E5),ROW(B2:E5)-1,"")),0)),COLUMN(OFFSET(A1,0,MAX(IF(B2:E5=MAX(B2:E5),COLUMN(B2:E5)-1,"")))),4) - 但輸入爲ARRAY公式通過Ctrl+Shift+Enter,將返回E5(假設@Jüri Ruut區域),它只是所需單元格的地址。

+0

+1,對於「輸出的可讀性」)))) – 2013-02-18 16:16:06

+0

如果MAX值重複,那麼你可能會遇到問題 - 例如,如果最大值出現在E3和D5中,例如公式返回MAX所在單元的地址不會發生!(E5) – 2013-02-18 16:24:28

+0

@barryhoudini同意,但假設輸入應該只有一個MAX值,否則OP會要求輸入) – Ksenia 2013-02-18 16:36:44

相關問題