
使用豬八戒APP
隨時隨地享服務(wù)
作者:旁姣 發(fā)布:2023-04-10 11:30 491瀏覽
我用中國式排名為例來說明吧,我們先來了解一下什么叫中國式排名?我就舉個最簡單的例子。
比如,你們班級一共50個人,期末考試有49個人考了100分,你考了90分,那么按國際慣用的排名法則:49個人并列第一,你第50名。如果按中國式排名:49個人并列第一,你第2名。是不是瞬間和諧了許多?
既然中國式排名是中國特色,那么,Excel現(xiàn)有的rank函數(shù)顯然是按老美的規(guī)則來排名的,如果要統(tǒng)計中國式排名,就得用到些技巧。
本文教大家4種方法,由淺入深、一網(wǎng)打盡,總有一款適合你。
案例:
下表的**總分,分別有兩個分數(shù)出現(xiàn)重復(fù),請用中國式排名給這些學(xué)生排名次。
解決方案:
用if排名
用vlookup排名
用sumproduct(sum家族的函數(shù)都可以,比如sum+if,或者sumif,本文以神級函數(shù)sumproduct舉例)+countif排名
用數(shù)據(jù)透視表排名
方案1:用if排名
1.開始中國式排名前,我們首先來看一下普通排名,可以用rank函數(shù),也可以用如下sumproduct公式:
=SUMPRODUCT((C2<$C$2:$C$15)*1)+1
公式釋義:
sumproduct作為神級函數(shù),我在各種案例中多次、反復(fù)講解過,比較完整的可參見Excel函數(shù)(四)–sumproduct函數(shù)計數(shù)、排名、求和等等
本公式中,C2<$C$2:$C$15:
用C2,即當(dāng)前行的總分與一整列的分數(shù)依次比較,判斷C2是否比別人小
根據(jù)判斷結(jié)果會得到一個由true和false組成的數(shù)組,true相當(dāng)于1,false相當(dāng)于0
用F9看一下計算結(jié)果(如下圖),就非常直觀容易理解
SUMPRODUCT((C2<$C$2:$C$15)*1):sumproduct是積求和函數(shù),因此會用數(shù)組中的1和0依次與1相乘,最后求和,也就是說,有幾個總分比自己高的,就得出幾
+1:如果有5個比自己高,那么自己排名第6,所以要+1
2.現(xiàn)在開始中國式排名步驟,先按C列的**分數(shù)由高到低排序
3.在E2列輸入“1”,在E3列輸入以下公式,下拉即可:
=IF(C3=C2,E2,E2+1)
公式釋義:
如果上下兩行分數(shù)相等,則排名相同
如果分數(shù)不等,那么不管上一行的分數(shù)有沒有重復(fù)值,排名+1
方案2:用vlookup排名
1.按C列的**分數(shù)由高到低排序
2.將C列復(fù)制粘貼到旁邊的輔助列,比如J-->選中J列-->選擇菜單欄的Data-->RemoveDuplicates-->在彈出的對話框中勾選“**分數(shù)”-->OK
3.現(xiàn)在J列是去除重復(fù)項的分數(shù)
4.在K列用rank函數(shù)對J列排名,公式如下:
=RANK(J2,$J$2:$J$12)
5.在F2輸入以下公式,下拉即可,目的是用vlookup函數(shù)去查找C列的分數(shù)所對應(yīng)的K列去重后的排名,即中國式排名:
=vlookup(C2,J:K,2,0)
方案3:用sumproduct+countif排名
1.在E2單元格輸入以下公式,下拉即可:
=SUMPRODUCT((C2<$C$2:$C$15)*(1/COUNTIF($C$2:$C$15,$C$2:$C$15)))+1
公式釋義:
*前面部分之前解釋過了,不贅述
重點來看這一段COUNTIF($C$2:$C$15,$C$2:$C$15):Countif統(tǒng)計數(shù)組中每個數(shù)的重復(fù)次數(shù),即先用C2歷遍整個數(shù)組,得到重復(fù)次數(shù);再用C3歷遍整個數(shù)組,得到重復(fù)次數(shù)……依次類推
1/COUNTIF($C$2:$C$15,$C$2:$C$15):
用1除以數(shù)組中每個數(shù)的重復(fù)次數(shù),等到一組最大值為1的數(shù)組
當(dāng)總分重復(fù)n次時,通過1/n,把重復(fù)次數(shù)拆分成了n等分
下圖是用F9查看這段公式后顯示的值,便于大家理解
SUMPRODUCT((C2<$C$2:$C$15)*(1/COUNTIF($C$2:$C$15,$C$2:$C$15))):
就是用一組1和0組成的數(shù)組,與一組1和小數(shù)組成的數(shù)組積求和
0*任何數(shù)為0,忽略不計;1*1也好理解
當(dāng)?shù)诙€值為分數(shù)時,比如1/3(上圖中顯示為0.33333333……),表示重復(fù)了3次,而且1/3會在數(shù)組中出現(xiàn)三次,sumproduct對它積求和即1*1/3+1*1/3+1*1/3=1,也就是不管重復(fù)幾次,最后結(jié)果都只統(tǒng)計1次
因此實現(xiàn)了中國式排名的邏輯
+1:比自己大的個數(shù)+1,即自己的排名
方案4:用數(shù)據(jù)透視表排名
1.制作數(shù)據(jù)透視表:點擊表格中的任意單元格-->選擇菜單欄的Insert-->PivotTable
2.默認將數(shù)據(jù)透視表放入一個新sheet-->在右邊的對話框中將“姓名”拖動到Rows區(qū)域-->將“**總分”拖動到Values區(qū)域,拖動兩次:一列用來顯示總分,另一列用來顯示排名
3.回到數(shù)據(jù)透視表,隨意選中第2個“**總分”列的任意單元格-->右鍵單擊-->選擇ShowValuesAs-->RankLargesttoSmallest
4.在彈出的對話框中點擊OK
5.現(xiàn)在C列已經(jīng)變成了中國式排名了
6.我們再對C列排下序:選中C列的任意單元格-->右鍵單擊-->選擇Sort-->SortLargesttoSmallest
7.然后把C列的標題改成“排名”,就完成了
11贊同
2023-04-10 11:34:32推薦閱讀 RECOMMENDED READING