2014-03-29 71 views
0

因此,我將列出一個玩家列表(包括幻想棒球),其中包括他們所在的團隊以及他們的薪水 - 總共3列。球員人數的範圍可能會在100-238的範圍內。儘管238是最大的。在Excel中查找前15%或前10%的最高值

我需要找到前15名或10%最昂貴的球員,一旦我們完成起草工作,以較高者爲準。因此,我將擁有15名球員(,如果我的名單是< = 150)或者一旦達到155或更高(因爲我們正在四捨五入),它將成爲10%。

由於基於我的最大我知道我會有從15-24球員挑選從我在網格中有以下公式,只是拖了24行。第一列只是1-24。

=IF(OR(COUNTIF($B$2:$B$501,"*") < 150, I3 <= ROUND(COUNTIF($B$2:$B$501,"*") * 0.1,2)),INDEX($B$2:$B$211,MATCH(1,INDEX(($D$2:$D$211=LARGE($D$2:$D$211,ROWS(J$1:J1)))*(COUNTIF(J$1:J1,$B$2:$B$211)=0),),0)),"-") 

但是,有些事情是錯誤的,因爲當我用測試數據對此進行測試時,我總是收到重複的名稱。

任何想法,我錯了嗎?

+0

**在哪些列是名稱,團隊和薪水?** –

+0

**薪水可以在列表中多次出現或每個工資都是唯一的嗎?** –

+0

Hi Gary,名稱出現在列B中, C中的團隊,D中的工資。薪水可能會出現多次。 – user1226431

回答

1

的困難是重複的工資.......這可以accomodated ......說的數據是這樣的:

pic

顯然克里斯托弗,馬克和喬治所有份額同樣的薪水......在E2解開這個輸入:

=RANK(D2,$D$2:$D$23,0)+COUNTIF($D$2:$D2,D2)-1 

抄下...........這個分配一個唯一的ID給每個記錄.....在G2請輸入:

=MATCH(ROW()-1,$E$2:$E$23,0) 

抄下...在H2輸入:

=OFFSET($B$1,G2,0) 

抄下...在I2輸入:

=OFFSET($C$1,G2,0) 

,並複製下來.. 。最後在J2輸入:

=OFFSET($D$1,G2,0) 

抄下...........我們現在有:

next

這是一個 「排序按公式」 ........ ..根據您的選擇,從列H中挑選儘可能多的名字!

+0

謝謝加里。現在玩這個,但它絕對有效! – user1226431

+0

歡迎您!當然,最酷的部分是專欄** E ** –