Excel中排名,大家習慣分為美式排名和中國式排名。
美式排名通常使用RANK函數,用法比較簡單,可以參考文章:rank函數實例講解。
什么是excel中國式排名呢?咱們中國人的習慣,比如無論有幾個并列第3名,之后的排名仍應該是第4名,即并列排名不占用名次,這就是中國式排名。
下面這個案例,也是IT部落窩論壇的excel中國式排名練習題,語文成績有兩個72分,并列第一名,隨后的66分為第二名……在C2單元格寫公式,完成中國式排名。
中國式排名,其實就是對一個數在一組數據中排名第幾的統計,重復數排名相同,比它小的最大數的排名只低一級。通常可以使用countif,frequency和SUMPRODUCT等函數結合實現。
下面提供幾種相關的中國式排名解法:
中國式排名解法一:
在C2單元格輸入公式,=SUM(IF($B$2:$B$6>B2,1/COUNTIF($B$2:$B$6,$B$2:$B$6)))+1,然后按ctrl+shift+enter三鍵結束。下拉復制公式即可得出其余的排名。
公式解釋:
COUNTIF($B$2:$B$6,$B$2:$B$6)部分:這是一個數組運算用法,它的運算過程是:
COUNTIF($B$2:$B$6,B2)
COUNTIF($B$2:$B$6,B3)
COUNTIF($B$2:$B$6,B4)
……
分別統計B2、B3、B4單元格在B2:B6區域中出現的次數。得到結果為:1,1,1,2,2。其中“1”代表此單元格中的內容在B2:B6區域中只出現一次,即沒有重復;“2”代表此單元格中的內容在B2:B6區域里重復2次。這一步的操作,可以得到數據是否有重復和以及重復的次數。
1/COUNTIF($B$2:$B$6,$B$2:$B$6)部分:
在公式編輯欄選中這部分公式,按F9鍵查看運算結果為:{1;1;1;0.5;0.5}。
IF($B$2:$B$6>B2,……)部分:
IF第一參數:$B$2:$B$6>B2的結果是:{FALSE;TRUE;FALSE;TRUE;TRUE},意思是B2單元格中的內容分別和B2:B6區域內的各個單元格內容進行大小比較。
“IF($B$2:$B$6>B2,1/COUNTIF($B$2:$B$6,$B$2:$B$6))”,這里IF省略了第三參數,因此當得到FALSE時,此時將返回結果“FALSE”,當得到TRUE時,此時將返回對應的結果,得到的結果是{FALSE;1;FALSE;0.5;0.5}。
接著SUM函數對IF函數內的結果進行加總,得到結果“3”。為什么還要再加上“1”呢?原因是IF函數內的測試條件是“>”,對于“B2:B6區域”里的最大值“72”而言,得到的結果是{FALSE;FALSE;FALSE;FALSE;FALSE},那么SUM函數計算得到的值就是“0”,顯然排名第0位,不符合常識,因此要額外加上“1”。
這個中國式排名公式的核心部分就是:“1/COUNTIF($B$2:$B$6,$B$2:$B$6)”,目的是避免重復計算相同項。
中國式排名解法二:
C2單元格輸入公式:=SUMPRODUCT(($B$2:$B$6>=B2)/COUNTIF($B$2:$B$6,$B$2:$B$6)),下拉復制即可。
這個公式的思路也是不重復計數。
中國式排名解法三:
使用FREQUENCY 函數的數組解法完成。B2公式為:=SUM(--(FREQUENCY(B$2:B$6,IF(B$2:B$6>=B2,B$2:B$6))>0)),三鍵結束。
中國式排名解法四:
=SUMPRODUCT((B$2:B$6>B2)*(1/(COUNTIF(B$2:B$6,B$2:B$6))))+1
中國式排名解法五:
=SUM(--IF($B$2:$B$6>=B2,MATCH($B$2:$B$6,$B$2:$B$6,)=ROW($2:$6)-1))
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/