排位函數RANK和PERCENTRANK的用法比較

學習的過程中要對所學的知識不斷地加以比較,特別是相近或相似的內容,更是要這樣。我經常談到,函數的結果往往不是很重要,因為很多的函數都可以實現這個功能,而重要的是實現這個結果的過程,用心地掌握這個過程,對我們的幫助往往是很大的。對這個過程熟練地掌握了,才能在實現結果的過程中有選擇,用自己最為熟悉的過程去實現。

今天就對兩個排名函數加以比較說明。所謂排名函數,就是依照順序把所給的數據進行排順序的函數。這種函數常見的是兩種,一種是普通的排名,就是RANK函數;還有一種是百分比排名,是PERCENTRANK函數。後者目前的功能更加細化了,但我的這篇文章中仍以老的版本來講解。這兩個函數有什麼作用和功能呢?下面給大家分別講解。

首先,RANK函數是排名函數。最常用的是求某一個數值在某一區域內的排名。這是最常用的一種排名函數。

語法:rank(number,ref,[order])

參數number 為需要求排名的那個數值或者單元格名稱(單元格內必須為數字),ref 為排名的參照數值區域,order的為0和1,默認不用輸入,得到的就是從大到小的排名,若是想求倒數第幾,order的值請使用1。

這個函數經常用到,不再過多的講解了。有興趣的朋友可以往前看看我的文章,經常會提到這個函數。

其次是PERCENTRANK函數,用於返回某個數值在數據集中的百分比排位,

語法:PERCENTRANK (array,x,significance)

參數array表示要進行百分比排位的數據區域。x表示要計算百分比排位的數字。significance表示返回百分比值的有效位數。

注意事項:

1、 如果參數array為空,該函數將會返回#N/A錯誤值。

2、 如果參數significance小於1,該函數將會返回#NUM!錯誤值。

3、 如果 x 與數組中的任何一個值都不匹配,則 PERCENTRANK.EXC 將插入值以返回正確的百分比排位

對於RANK函數比較好理解,而對於PERCENTRANK函數該如何正確理解呢?我們還是看下面的實例吧:一組成績清單,分別在C列和D列錄入RANK排名和百分比排名函數的公式;

排位函數RANK和PERCENTRANK的用法比較

我們先看下結果:

排位函數RANK和PERCENTRANK的用法比較

從上述的結果很清楚地看到了百分比排名的作用,也就是說可以看出每個數據的位置情況,那麼位置情況又是如何計算出來的呢?就如我們的排隊一樣,往往關心的是我前面有多少人,還要關心總的人數,這個位置百分數的排名也是一樣的。我們再看一組數據的例子:

排位函數RANK和PERCENTRANK的用法比較

我們來分析每個數據的位置情況是怎麼劃分的:

上圖B2的數據是10,百分比排名是0。

上圖B3的數據是20,比它小的是有1個,比它大的有5個,所以位置為百分比排名是1/(1+5)=17%。

依次類推,當出現重複時要補足個數。

如B7的數據,比它小的是5個,則為5/6=83% 就是這麼簡單的關係。

今日內容迴向:

1 RANK函數的作用和意義是什麼?如何實現從大到小的排名?

2 PERCENTRANK函數的作用和意義是什麼?

3 PERCENTRANK函數的結果是如何計算出來的?

分享成果,隨喜正能量。


分享到:


相關文章: