萬盛學電腦網

 萬盛學電腦網 >> Wps Office >> wps綜合教程 >> 巧用WPS表格數組公式分析班級學生成績

巧用WPS表格數組公式分析班級學生成績

  學校對於某年級各教學班的考試成績分析,一般要統計每個班的參加考試人數、及格率、平均分(或每班前若干名學生的平均分)、學生個體在本教學班中的名次等,如果僅用WPS表格的內置函數計算,則需要一個班一個班的分塊後計算,非常麻煩。筆者通過巧妙組合WPS表格的內置函數編寫出數組公式,簡捷方便地完成了以上各種特征量數計算(如圖1所示)。

巧用WPS表格數組公式分析班級學生成績 三聯教程

  圖1 班級學生成績統計

  1、每個班參加考試人數

  假設某年級有4個班,學生總數不大於260名,班號在A列(用01、02、03…表示各班號),從261行開始為匯總行。要統計的是語文學科(C 列)的各班參加考試人數(每個班有得分的學生數,即非空格數),則在要計算各班參加考試人數的縱向連續的第一個單元格C262中輸入公式:

  =SUM((A$2:A$260=0&ROW(A1))*(C$2:C$260<>""))

  按Ctrl+Shift+Enter組合鍵確認輸入後,向下拖動填充到全部班級單元格C262 :C265,即可得到各班的該學科參加考試人數。

  上述公式為數組公式,在編輯欄輸入這種公式後,必須按Ctrl+Shift+Enter組合鍵確認,確認後在公式兩邊自動加上花括號“{}”(如圖2)。

圖2 學科實考統計.gif

  圖2 學科實考統計

三聯推薦:點擊免費下載最新版WPS辦公軟件    》》查看更多電腦教程

  公式解釋:將班號列所在區域A$2:A$260為“某班”(0&ROW(A1))和某學科考分列所在區域C$2:C$260為非空單元格 (<>"")兩個條件做乘法運算。當兩個條件都成立時返回1(TRUE* TRUE=1),否則返回0(TRUE* FALSE=0、FALSE *TRUE =0、FALSE * FALSE=0)。邏輯判斷的結果組成0、1數組,通過函數SUM()將所有的0、1值求和,得出該學科參加考試人數。

  2、每個班所有考生的總平均分

  假設E列為“總分”列,在要計算各班總平均分的縱向連續的第一個單元格E262中輸入數組公式:

  =AVERAGE(IF(A$2:A$260=0&ROW(A1),E$2:E$260))

  按Ctrl+Shift+Enter組合鍵確認後向下拖動填充到全部班級單元格E262 :E265,得到每個班所有考生的平均分(如圖3)。

圖3 每個班的平均分.gif

  圖3 每個班的平均分

  公式解釋:首先通過IF()函數,在總分所在區域E$2:E$260中篩選滿足條件為“某班”的一組數值,然後通過AVERAGE()對所篩選的數值求平均值。

  3、每個班前若干名學生的平均分

  為了分層測試教學效果,往往按截取一部分學生的成績作為樣本計算。例如,計算各班前30%學生的平均分,需在F262單元格中輸入數組公式如下:

  =AVERAGE(LARGE(IF($A$2:$A$260=0&ROW(A1),E$2:E$260),ROW(INDIRECT("1:"&ROUND(COUNTIF(A$2:A$260,0&ROW(A1))*0.3,0)))))

  然後將此公式向下拖動到F265單元格(如圖4)。

圖4 各班前30%平均分.gif

  圖4 各班前30%平均分

  公式解釋:首先通過ROUND(COUNTIF(A$2:A$260,0&ROW(A1))*0.3,0)(以下簡稱為X),計算前30% 的人數有多少,並將其四捨五入到整數;再通過ROW(INDIRECT("1:"&X) (以下簡稱為Y) 由小到大數排列1到前30%的人數的若干個自然數(數組),由LARGE(IF($A$2:$A$260=0& ROW(A1),E$2:E$260),Y)抽取總分所在區域E$2:E$260中某班前30%學生的得分(數組),最後通過AVERAGE()求選取數值的平均分。

  4、每個班的學科及格率:

  假如語文學科(C列)及格分數為60分,則在要計算各班及格率的縱向連續的第一個單元格G262中輸入數組公式:

  =SUM((A$2:A$260=0&ROW(A1))*(C$2:C$260>=60))/SUM((A$2:A$260=0&ROW(A1))*(C$2:C$260<>""))

  按Ctrl+Shift+Enter組合鍵確認後向下拖動填充到全部班級單元格G262:G265,得到各班該學科的及格率(如圖5)。

圖5 學科及格率.gif

  圖5 學科及格率

  假如語文(C列)、數學(D列)中的學科及格分數分別為60分、72分,則計算每個班這兩個學科都及格的人數的數組公式為:

  =SUM((A$2:A$260=0&ROW(A1))*(C$2:C$260>=60)*(D$2:D$260>=72))

  5、每個學生在本班的名次

  一個學生在全年級的名次,可用函數RANK()求出,而該學生在本班內的名次,卻沒有現成的內置函數可用,我們仍然可以巧用數組公式來解決。在名次列的第一個學生成績行所在單元格F2中輸入數組公式:

  =SUM((A$2:A$260=A2)*(E$2:E$260>E2),1)

  按Ctrl+Shift+Enter組合鍵確認後向下拖動到最後一行,得到每個學生在本班的名次(如圖6)。

圖6 班內排名次.gif

  圖6 班內排名次

  公式解釋:此公式是通過求本班大於該學生總分的人數與1的和,得到該學生在本教學班的名次。

  如下的兩個數組公式與上述公式等價(見G列和H列的名次1和名次2):

  =SUM(((A$2:A$260=A2)*E$2:E$260>E2)*1,1)

  =SUM(IF((A$2:A$260=A2)*E$2:E$260>E2,1))+1

  由上面幾個例子可見,數組公式可以解決許多有條件的統計問題。為了方便,我們可以根據上面講到的各數組公式,設置成考試成績統計模板應用於每次考試,起到一勞永逸的作用。

copyright © 萬盛學電腦網 all rights reserved