|
||||
在用Excel統計成績時,我們一般會根據成績高低進行排序,然後按序列自動填充出名次。這種方法得出的名次與總分沒有關聯,即使成績相同,也會填充出不同的名次。
如果數據較少,我們可以采用手動的方法將成績相同的人員改成相同的名次,但數據較多時就很麻煩了。經過實踐,以下三種方法可以自動實現同分同名次的操作。假設有1000名考生,字段位置如上圖所示。
一、使用排位函數RANK
在H2單元格中輸入函數『=RANK(G2,G$2:G$1001,0)』,回車後H2單元格中會出現名次『1』,然後選定H2,拖動其填充柄向下填充即可自動實現。
該函數的功能是返回一個數字(上述函數中的G2,此處采用相對應用,填充時隨行的變化而變化)在數字列表(上述函數中的G$2:G$1001,此處采用絕對應用,填充時不發生變化)中的排位。數字的排位是其大小與列表中其他值的比值。該函數在使用時,即使總分沒有排序,它也可以直接求出所對應總分的名次;如果總分已排過序,則數字的排位就是它當前的位置。上述函數中最後的『0』指明排位的方式,當其為0或省略時,Excel對數字的排位是按照降序排列的。如果不為零, Excel對數字的排位則是按照昇序排列的。該函數對重復數的排位相同,而下一名次則將前面的重復數計算在內。
二、使用計數函數COUNTIF
在H2單元格中輸入函數『=COUNTIF(G$2:G$1001,">"&G2)+1』,然後向下自動填充即可實現該操作。
該函數的功能是計算區域中滿足給定條件的單元格個數。上述函數中采用絕對引用指定計算區域G$2:G$1001,名次所對應的單元格G2采用相對引用。即求出在G2:G1001區域中大於名次所對應總分的單元格的個數,然後加上1就可以得出該單元格中數值的名次。該操作不管有幾個重復的,大於它的個數卻是固定的,所以重復數據的名次也就是相同的了。同RANK函數一樣,該函數不管是否已經按總分進行排序均可進行上述操作。
三、采用IF語句加COUNT函數
該操作與上述兩種方法不同,必須先將總分按照降序排列。然後將第一名的名次『1』輸入,再在H3單元格中輸入函數『=IF(G3=G2,H2,COUNT($G$2:G3))』,確定後向下自動填充也可實現同分同名次的操作。
COUNT函數的功能是返回指定區域中數字單元格的個數。因為G列全是數字單元格,所以該總分處在第幾位上名次就是幾。上述語句的意思就是如果當前總分和上一個總分相同,則輸入上一個總分的名次,否則執行COUNT語句,統計個數。
以上三種方法均可自動實現同分同名次操作。本文雖然有孔乙己先生關於『回』字有四種寫法的嫌疑,但筆者的目的卻只有一個,那就是拋磚引玉,讓Excel函數更好的為我們服務。