rank 用法怎麼才正確?避免這些常見錯誤很重要!

哈囉,各位朋友,今天來跟大家聊聊我最近在工作中實際用到的rank這個函數。其實也不是什麼高深莫測的東西,就是Excel裡面一個挺實用的小功能,但有時候要用的時候,腦袋就是會卡一下,想不起來細節怎麼弄。我就把我這次摸索的過程記錄下來,分享給大家參考參考。

事情的起因

是這樣的,最近我手頭上有個小任務,要幫一堆數據做個排名。你懂的,就是那種業績、分數之類的,老闆想看誰是第一名,誰又是吊車尾。一開始我想著,,排序嘛點一下就但後來發現,不行,我還得保留原來的順序,只是旁邊加一欄排名就這時候我就想想,以前好像用過一個東西...對了!是rank函數!

rank 用法怎麼才正確?避免這些常見錯誤很重要!

開始動手試試

於是我就打開我的Excel,找了一列數字來試試看。比如我有這麼一串數字:

  • 85
  • 92
  • 78
  • 92
  • 60

我想要知道每個數字在這堆數字裡面排第幾。我就在旁邊一個空白的儲存格開始敲鍵盤。=RANK(,它會提示我要放什麼東西進去。

第一個參數 (number): 這個好理解,就是要幫哪個數字排名的意思。比如我要幫第一個85分排名,那我就選那個85分的儲存格,假設它是A2好了。

第二個參數 (ref): 這個是參考範圍,也就是說,要在哪些數字裡面去比較來排名。以上面的例子來說,就是A2到A6這一整串數字。這裡有個小技巧,也是我以前常常忘記的,就是這個範圍,通常要用符號把它鎖定起來,像是$A$2:$A$6。為什麼?因為如果你等一下要把公式往下拉,套用到其他數字上,這個範圍如果不鎖定,它就會跟著往下跑,那比較的範圍就錯了,排名自然也就亂七八糟了。

第三個參數 ([order]): 這個參數是選填的,方括號就代表你可以不填。它是決定要怎麼排,是數字大的排前面(降序),還是數字小的排前面(升序)。

  • 如果填0或者不填:那就是降序,數字越大的,排名越靠前(比如100分是第1名)。我們一般算成績、算業績都是用這種。
  • 如果填1:那就是升序,數字越小的,排名越靠前(比如跑100米,時間越短越厲害)。

我這次是要分數高的排前面,所以我第三個參數就直接省略了,或者填0也行。

實際操作與遇到的情況

所以我輸入的公式大概長這樣:=RANK(A2, $A$2:$A$6, 0) 或者 =RANK(A2, $A$2:$A$6)。然後按下Enter!

第一個85分的排名出來了,是第3名。然後我把這個公式往下拉,套用到其他數字上:

rank 用法怎麼才正確?避免這些常見錯誤很重要!
  • 85 -> 第3名
  • 92 -> 第1名
  • 78 -> 第4名
  • 92 -> 第1名 (這裡要注意,跟上面那個92分並列第1)
  • 60 -> 第5名

看到結果,我發現幾個事情:

關於重複值: 像那兩個92分,它們的排名都是第1名。這個是RANK函數的預設做法,它會給相同數值的項目相同的排名。然後,下一個排名就會跳過。你看,沒有第2名,因為有兩個並列第1了,所以85分直接就是第3名。這點在跟人家解釋排名的時候要特別說明一下,不然人家可能會問:「咦?怎麼沒有第2名?」

關於錯誤值: 我也順便試了一下,如果我的數據範圍裡面有空白儲存格,或者不小心打進去一些文字而不是數字,那rank函數可能會回傳一個錯誤值,像是#N/A之類的。這時候報表看起來就會有點醜。如果要避免這種情況,我後來想到可以用IFERROR這個函數把它包起來。比如改成=IFERROR(RANK(A2, $A$2:$A$6, 0), ""),這樣如果出錯了,它就會顯示空白,看起來乾淨一點。

一些小補充

後來我又稍微查了一下,發現其實還有跟這兩個兄弟函數。的行為跟我上面用的RANK基本上是一樣的,就是遇到相同數值時給予相同排名,然後跳過下一個排名。而的話,如果遇到相同數值,它會給一個平均排名。比如兩個並列第1,它可能會把第1和第2的平均值(1.5)給這兩個數值。不過我這次的任務用不到這麼複雜,簡單的RANK或就夠用了。

所以說,這個rank函數,雖然看起來簡單,但實際操作的時候,還是要注意一下鎖定範圍、排序方式,還有重複值怎麼處理的問題。這次我重新摸索了一遍,也算是又加深了印象。

總結一下

總之,這次用rank函數幫數據排名的過程還算順利。就是一開始要想一下那三個參數分別要放什麼,尤其是第二個參數的範圍鎖定,還有第三個參數的升降序選擇。搞清楚這幾個點,基本上就沒什麼大問題了。希望我這次的實踐記錄,對那些偶爾需要用到rank函數,但又不是很熟的朋友們有點幫助!下次再有什麼實用的發現,再跟大家分享!

首頁 英文水平測試 0元領取試聽課