年度考覈如何實現排名?

說到排名,大家是再熟悉不過了。從還在學校讀書時候的分數排名,到現在出來工作了,只要有考覈的需要,也都會涉及到排名。

下面就來學習一下Excel裏常見的排名方法吧。

 

1.如何排名?

 

排名函數(rank),返回指定數值在特定區域中的排名。其語法規則是:

 

rank(要進行比較的數值,在哪個區域比較,降序還是升序)

 

第三個參數“降序還是升序”,降序是0,升序是1,如果省略這個參數,則默認爲按照降序來進行排名。

案例:按分數從大到小對學生進行排名

 

 

在C2單元格輸入公式:

=rank(B2,$B$2:$B$11,0)

然後向下填充公式,即可求得所有學生的排名。

 

 除了用rank函數來進行排名,我們還可以轉換一下思維:以猴子爲例,我們要求猴子的分數在所有學生中的排名情況。

 

2.如何選擇排名方式?

 

從上面的案例中,我們看到,猴子和馬雲都是排第1的,有兩個第1;而後就是蘇火火,排在了第3,而不是第2。

 

 

那麼如何實現,猴子和馬雲都是排第1,蘇火火排在第2(而不是第3)呢?

 

在C2單元格,利用countif函數,寫下如下公式:

 

=sumproduct(($B$2:$B$11>$B2)/countif($B$2:$B$11,$B$2:$B$11))+1

 

下拉填充公式,完成排名。可以看到,兩個並列排名第1之後,緊隨的是第2,而不是從第3開始。 

 

那麼,這個公式怎麼理解呢?我們拆解每一步來看下。

 

第一步:$B$2:$B$11>$B2

 

意思就是拿B2:B11這個區域的每個數值,都與B2一一進行比較,然後返回邏輯值。如果大於就返回真(true),小於等於就返回假(false)。

 

第二步:countif($B$2:$B$11,$B$2:$B$11)

 

這是條件計數,對滿足條件的值進行計數,它的運算過程是:

 

countif($B$2:$B$11,B2)

countif($B$2:$B$11,B3)

countif($B$2:$B$11,B4)

 ……

意思是,統計B2單元格的值在B2:B11區域中出現的次數;統計B3單元的值在B2:B11區域中出現的次數;統計B4單元格的值在B2:B11區域中出現的次數……

 

第三步:($B$2:$B$11>$B2)/countif($B$2:$B$11,$B$2:$B$11)

 

第一步得到的是邏輯值,第二步得到的是每個數值出現的次數,邏輯值在參與運算的時候,true=1,false=0。也就是說條件$B$2:$B$11>$B2如果成立,則返回1,如果不成立,則返回0。0除以任何數,結果都爲0;而1除以出現的次數,就使得重複出現的數值只計算一次,避免重複計數。

 

第四步:

sumproduct(($B$2:$B$11>$B2)/countif($B$2:$B$11,$B$2:$B$11))+1

 

sumproduct函數對結果進行加總求和,即對大於當前值的個數進行求和,如對大於B2的個數進行求和,共有N個,那麼,B2的排名就 N+1。

 

如果你對上面的公式理解起來實在很費勁,其實對於這種排名還有一個更簡單的方法,那就是藉助數據透視表。

3.如何用數據透視表實現排名?

 

在數據區域任意一單元格單擊,插入數據透視表

 

 

把“姓名”拖到行,把“分數”拖到值,連續拖兩次。

 

 

然後對“分數2”進行“值”字段設置

 

 

在彈出的【值字段設置】窗口裏,將值顯示方式設置爲“降序排列”

如圖,就得到了中式排名的效果:

 

 

修改透視表的列名稱,同時對排名進行降序排列,最終如下:

 

 

4.總結

 

排名可以使用rank函數來實現,默認的排名不符合使用習慣,可以使用sumproduct和countif函數的結合或者藉助數據透視表來實現排名。

推薦:人工智能時代的必學技能


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章