如何利用Excel計算個別學生成績在全體學生的百分比,並換算成等級?

如何利用Excel計算個別學生成績在全體學生的百分比,並換算成等級?

最近註冊組提了一個Excel問題:如何利用Excel將學生的絕對成績換算成在同一年級中全體學生的相對百分比?因為教務處為了激勵學生在課業的學習,希望將學生的絕對成績換算為相對等級成績(全年級前百分之15)給予獎勵,讓學生了解自己在同一年級中的學習狀況,不以絕對成績高低作為獎勵,是不希望變成惡性競爭,讓學生斤斤計較於1分兩分考試成績,而又能達到鼓勵學生學業的目的,尤其像本校學生人數夠多,樣本母體夠大,這種相對成績比較具有參考性。

雖然這個問題看似簡單,但是在Excel2003與2007中仔細去挖它的各種功能,好像只有"分析工具箱"增益集有類似的功能,在Excel2003與2007中並沒有提供類似的函數,使用者必須要用vba自己寫函數,而在Excel2010中新提供兩個函數PERCENTRANK.INC與PERCENTRANK.EXC可以達成這個目的。這兩個函數都可以把學生的個別成績轉換成佔全體成績的百分比,差別只在於PERCENTRANK.INC把唯一最高分當成1與把所有最低分當成0,其他的為(所勝過的人數/總人數),而PERCENTRANK.EXC把最高分與最低分不當成1與0,把(總人數+1-(大於等於該分數的總人數))/(總人數+1) 。

兩者的算法雖不同,其實當樣本數夠大差異有限,以下列假想的學生名單成績為例,利用Excel2010把學生的總分成績換算成佔全部同年級學生的百分比,再依百分比範圍分成三個等級:精熟(大於等於85%)、基礎(小於85%大於25%)、待加強(小於25%)

image

即要製作成如下表,多了兩欄百分等第與級別

image

步驟

1.在"總分"欄位右邊2欄(F與G)加入"百分等第"與"級別"兩個欄位標題。

2.先點選F2此儲存格,再點選"公式"功能區、其他函數\統計\PERCENTRANK.INC

image

3.在"函數引數"表單,Array引數代表全體學生的成績範圍,x代表要計算的成績,Signaficance代表計算取的小數位數(不設定預設取3位),以下圖參數為例,是要計算9年1班1號的成績在全部9年級共648位學生中所佔的高低百分比,取到小數點第3位。

image

4.計算的結果為0.825,代表9年1班1號的成績贏過82.5%的人

image

5.接下來我們要把其他學生計算出來,難道要一個個重複剛才的動作嗎?當然不是,有648個學生不瘋掉才怪,我們要利用Excel中我個人認為最方便資料輸入的功能"自動填滿",來幫助我們快速完成這個動作,在執行"自動填滿"前首先我們要改一下我們建立的公式的一個小地方,公式如下:

=PERCENTRANK.INC(E2:E649,E2)

如果要透過"自動填滿"的功能,我們必須將Array這個資料範圍參數改成絕對參照,也就是將公式改成如下

=PERCENTRANK.INC($E$2:$E$649,E2)

將Array的引數由E2:E649改成$E$2:$E$649,代表在執行"自動填滿"時不會變更此範圍,如果是E2:E649則沿欄位下拉自動填滿"自動填滿",程式會自動變動參照的列位,例如變成E3:E650,這樣就無法產生正確的計算。

image

6."級別"的部分,依照前述步驟改用IF函數,函數的內容如下,即可完成我們的目的。

=IF(F2>=0.85,"精熟",IF(F2<0.25,"待加強","基礎"))

範例檔案

7.如果要拿這個這個統計公式來評估學生的學習成效,只適合母體數量夠大,且同分的人數不多的狀況下才適用,否則會產生學生分數只差一點而所佔全體人數百分比的差距很大!

cool      歡迎引用,請注明來源出處!

作者:楊煥謀