SUMIF、COUNTIF和SUMPRODUCT函式在成績統計中的應用

souphp3l2發表於2016-06-27

  在學校組織的學年考試考務工作中,為了便於評卷實行流水作業和避免學生作弊,經常將同一年級不同班級的學生拆散混編。在考試登分完畢之後,如何做到不改變原始表格的狀態而進行分班成績統計呢?利用SUMIF、COUNTIF和SUMPRODUCT這三個函式,一切都將會變得十分輕鬆。下面舉例說明。

  一、造冊登分

  登分冊一般有班級、考號、姓名及語文、數學等學科名稱,我們可以把這個工作表建立在Sheet1,並將其重新命名為“登分冊”,將學生成績輸入其中(見圖一)。將Sheet2命名為“統計表”,在其中設定好班級、科目、平均分、及格人數、及格率、優生人數、優生率等統計資訊列標題,輸入班級和需要統計的科目內容(如圖二)。

  二、建立函式

  在“統計表”中的C2單元格輸入陣列公式=SUMIF(登分冊!$A$2:A$13,"一(1)",登分冊!$D$2:D$13),按住Ctrl和 Shift鍵回車可以計算出一(1)班的總分,將公式向下複製到各單元格,並將其中的“一(1)”班分別改為相應班級名稱。這個陣列公式的含義是:在“登分冊”工作表中查詢“一(1)班對應的成績,並返回一(1)班所有成績之和。如圖三

  在“統計表”D2單元格輸入公式=ROUND(C2/COUNTIF(登分冊!$A$2:A$13,統計表!A2),2)計算出一(1)班的平均分,向下拖動複製公式到相應單元格。該公式的含義是:將C2中的總分除以“登分冊”A列中與A2顯示的值(一(1)班)相同的人數,並保留兩位小數。

  在E2中輸入陣列公式計算及格人數。該陣列函式為=SUMPRODUCT((登分冊!$A$2:A$13=統計表!$A2)*(登分冊!$D$2:D$13>=60)),其含義是:若“登分冊”工作表A列中有與“統計表”A2相同的資訊,即“一(1)班”,則返回與“一(1)班”相對應的成績中大於或等於60分的人數(如圖四)。將公式向下複製後,在F2單元格中輸入公式=E2/COUNTIF(登分冊!$A$2:A$13,統計表!$A2)計算該班的及格率。

  將E兩列中的公式複製到G列,並將公式是的">=60 "修改成學校規定的優生標準(如是80分為優生,則將60改為80即可)(如圖五)。同理,將F列中的公式複製到H列即可得到優生率的統計結果。

  需要提醒大家的是,使用陣列函式,一定不要忘記是Ctrl+Shift+回車。

相關文章