2016-04-25 201 views
0

我期待獲得一些幫助,我確信這是一個選項,但我很遺憾不知道如何實現。Excel函數返回最大兩個值

基本上,我想要一個公式從C21:C50開始,然後查找前兩個值。基於其中兩個是前,它會在乙列引用的名稱,並在另一個小區(式駐留在小區)填充該值

Example Image

如果看圖像,在主場,我們會有史蒂夫。次要的是艾倫。

這是任何人都可以提供幫助的東西嗎?我只是很失落:(

回答

1

嘗試

=INDEX($B$3:$B$7,MATCH(LARGE($C$3:$C$7,ROW(A1)),$C$3:$C$7,0)) 

與鮑勃在B3單元格,在單元格C9 「主」 的公式。複製到單元格C10。

enter image description here

+0

那種作品。但是,如果一個列具有相同值的倍數,則會遇到困難。有沒有辦法抵消這一點? –

+2

該方案不在您的數據示例中。構建一個數據樣本來顯示問題並解釋導致期望結果的邏輯。編輯你的問題來做到這一點。不要發表評論。當您進行編輯時發佈評論,以便人們獲得警報。 – teylyn

1

如果處理與整數,你可以簡單地添加+1/ROW([range]),以避免雙打:

=INDEX($B$3:$B$7,MATCH(LARGE($C$3:$C$7+1/ROW($C$3:$C$7),ROW(A1)),$C$3:$C$7+1/ROW($C$3:$C$7),0)) 

這是一個陣列式,並且必須以CTRL + + 輸入確認!


然而,這可能會失敗,像5.01或4.99的數字。對於這種情況下只是RANK.EQ使用它的組合:

=INDEX($B$3:$B$7,MATCH(LARGE(RANK.EQ($C$3:$C$7,$C$3:$C$7,1)+1/ROW($C$3:$C$7),ROW(A1)),RANK.EQ($C$3:$C$7,$C$3:$C$7,1)+1/ROW($C$3:$C$7),0)) 

這是一個陣列式,並且必須以CTRL + + 輸入確認!


的步驟如下圖像:

example

第一表顯示了直接加入1/ROW其用於LARGEMATCH獲得行是否存在雙打(這樣INDEX可以選擇正確的一個)

第二張表顯示了值是如何被他們的等級替換的與RANK.EQ然後被視爲像第一個表一樣。

第三個(灰色)表顯示如果將第一個公式應用於第二個表(以演示排名如何混亂),會發生什麼情況。


對於Excel 2007只是RANK($C$3:$C$7,$C$3:$C$7,1)更換RANK.EQ($C$3:$C$7,$C$3:$C$7,1)


如果您還有任何問題,只是問:)