問題場景
-
需求不同根據總分出排名(從大到小100分、100分、99分、98分、97分),排名需求:
-
第一種排名:第1名,第2名,第3名,第4名,第5名;
-
第二種排名:第1名,第1名,第3名,第4名,第5名;
-
第三種排名:第1名,第1名,第2名,第3名,第4名(中國式排名,下期內容);
-
場景一
-
第一種排名:排名不重復,有N名同學,從1依次排到N。
- 給每行數據添加【序號或編號】要連續不能間斷,經常用到。
目標
- 按要求給出每位同學的排名,且名次不重復。N名同學,排名1至N。
解決方案
用WPS自帶排序功能實現
- 第一步在【開始】選項卡下選中J列總分列(移到【J】單擊),下圖為選中效果,再點擊【排序】下的【降序】排列。
- 第二步:出現彈框,選中擴展選定區域總分單元格所在行的數據會根據總分的排序一起排序,而不是只排序當前選中區域),點擊【排序】。
- 第三步:在排名F2單元格內輸入1,選中F2單元格,鼠標移到F2單元格的右下角,出現實心的黑色【+】號,雙擊填充。
- 如果填充都是1(這是因為默認復制單元格填充,可在設置為填充序列,可BaiDu,不在此處介紹),則可以在F2填1,F3填2,同時拉選F2和F3單元格,鼠標移到F3單元格的右下角,出現實心的黑色【+】號,雙擊填充。
- 第四步:最后結果。
場景二
- 第二種排名:有相同數值排名,名次並列,會占用名次,之后排名不會順延,如有2個並列第2,則下一個名次就是第4,並無第3名
目標
- 按要求給出每位同學的排名,有並列排名,占用名次,N名同學,排名1到N,如果有相同數值,則名次不連續。
解決方案
用RANK函數實現
- 函數解釋:
=Rank(number,ref,[order])
# number:需要找到排位的數字。
# ref:數字列表數組或對數字列表的引用。Ref 中的非數值型值將被忽略。
# Order :指明數字排位的方式,0是對ref降序排列,1是對ref升序排列。
- 第一步:在F2單元格英文狀態下輸入:=RANK(J2,$J$2:$J$16,0)。
- 第二步:鼠標選中F2單元格,並移到F2單元格右下角,出現實心的黑色【+】,雙擊填充此公式。
- 第三步:F列排名結果,因為有兩個並列第7名,則之后是第9名。
注意
-
公式中用到了相對引用和絕對引用,關於引用請參考前幾節內容;
-
如果想將新出的排名從1到N按照升序排列,則可參考方法場景一的方案對F列【排名列】升序排列或者J列【總分列】降序排序,即可實現,結果如下圖:
總結
- 實際業務場景復雜、需求多變時,如果不能一次性解決問題,可擇優或結合使用,多嘗試,辦法總比困難多。