excel中國式排名公式(excel中式排名公式)
排名的本質是什麼呢?排名就是一個數字在一組數字中從大到小或者從小到大中的位置。西方的排名方式與中國的排名的方式大體相同,但卻也有一處非常明顯的差別。那就是對於並列名次後的處理。如下圖所示:
如果資料不重複的情況的下,不管中國式排名還是西方式排名,都是一樣的,用rank函式即可搞定。
以上圖為例公式即為:
=RANK(B2,$B$2:$B$17)
然而中國式排名顯然用這個公式就不合適了,那麼該如何做呢?
1.排名都是拿某個數字跟包含這個數字的一組數字比較大小,看看這一組數字大於等於(或者小於等於)這個的數字有多少個,有第一個就是排名第1,有2個就是排名第二……,rank函式也是這個邏輯。根據這個邏輯我們暫時得到以下的公式:
=$B$2:$B$17>=B2
分別拿$B$2:$B$17區域中的每個數字與B2的值進行比較,如果其中有數字大於等於B2,則返回TRUE,否則返回FALSE。這時我們在此公式的前面加兩個負號即可將其轉換為1和0.
=--($B$2:$B$17>=B2)
當$B$2:$B$17中有重複數字時,我們得到至少兩個重複的邏輯值。
2.然後我們通過countif函式求出這一組數字中每個數字的個數。如下圖所示,我們利用countif函式可以辦到這一點:
{=COUNTIF(B2:B17,B2:B17)}
非重複數字為1,重複數字則是有多少個相同數字,則得出同樣的個數。我們用1去除這個結果,然後外層巢狀一個sum函式即可得到這一串數字中的不重複數字的個數:
{=SUM(1/COUNTIF(B2:B17,B2:B17))}
3.我們將1和2的公式整合在一起就可以得到每個值的中國式排名了。
{=SUM(--($B$2:$B$17>=B2)/COUNTIF($B$2:$B$17,$B$2:$B$17))}
由於公式需要向下複製,因此要實用絕對引用。