用IF函數判斷學生的成績是否優質是很簡單的,曾寫過一篇文章《玩轉學生成績分析》不僅能給出答案,還能讓老師們做更具體的分析,在次發出來,希望能給同仁們有所幫助。
我們老師,讓學生考試是經常的事。而每一次考試成績出來后是不是需要進行數據分析呢?今天介紹用IF函數和LOOKUP函數等對學生成績進行等級劃分和統計的方法。
一、什么是IF函數
IF函數及條件函數,基本語句是IF(logical_test,[value_if_true],[value_if_false]),其中logical_test是邏輯檢驗的表達式;value_if_true是檢驗結果為真的返回值,value_if_false是檢驗結果為否的返回值。意思是如果滿意什么條件,則返回某值,否則返回另一值。
二、IF函數的基本用法
以下表為例,當C3中的分數在90分(總分150)以上為及格,90分以下不及格,在D3單元格輸入公式=if(c3>=90,“及格”,“不及格”)【注意:所有符號都是英文符號】,并拖動公式填充到D列的其它單元。
三、IF函數的嵌套用法
如下圖,假如我們將成績劃分為“優秀”(135分以上)、“較優秀”(120分以上)、“良好”(105分以上)、"合格"(90分以上)、“不合格”(90分以下),其中還可能出現有同學缺考的情況,于是在D3中輸入公=if(c3>=135,"優秀",if(c3>=120,"較優秀",if(c3>=105,"良好",if(c3>=90,"合格",if(c3="","缺考","不合格"))))),特別說明一下缺考的情況,缺考則該單元格不填(空值),而不是填0。拖動公式填充,則每位同學的等次就出來了。
四、用LOOKUP函數劃等次
當我們有時候等次分級較多時,用IF函數就比較麻煩了,這時可以用LOOKUP函數來代替。如下圖,在I列和J列中分出分數段和等級,在D3中輸入=LOOKUP(C3,$I$3:$I$7,$J$3:$J$7),注意“$"符號是指的絕對引用,此時如果不絕對引號,在拖動公式填充時對應的單元格就會下移,就不行了。還有一特別注意的是LOOKUP函數是向后兼容,所以在分級時一定要從低分到高。
五、IF函數的綜合用法
當我們有同學缺考時(有空值),可以使用IF和LOOKUP的聯合,在D3中輸入=if(C3="","缺考",LOOKUP(C3,$I$3:$I$7,$J$3:$J$7))。
六、按比例劃定等次
以下圖為例,共有29名同學的成績(C3:C31),按A等20%,B等30%,C等30%,D等20%來劃定等次。
(一)如果用IF函數,先增加一列,計算出每個分數排名在總數中的比例,用公式=RANK(C3,C$3:C$31)/(COUNTA(C$3:C%31),其中=RANK(C3,C$3:C$31)是分數在所有分數中的排名,COUNTA(C$3:C%31)是統計區域內所有不含空值的單元格個數(當然為里知道有29個數據,可不用這個函數,直接/29),由于公式需要下拉進行填充,所以行區域的行號要用絕對引用($)。
再按前面IF函數的嵌套用法進行等次的劃定。
(二)直接用LOOKUP函數,輸入:=LOOKUP(PERCENTRANK(C:C,C3),{0,0.201,0.501,0.801},{"D","C","B","A"}),此公式中PERCENTRANK(C:C,C3)意思是C3數據在C列中的所有C列數據中的百分比排名,此處引用了整個列,也可以像前面一樣用C$3:C$31為個區域。因為PERCENTRANK排名是降序的,即第一名是1,所以后面的數組中A占20%,也就是0.8以后的,B占30%,也就是0.5以后的,依次類推。
七、各等次數據統計
當我們劃定了等次后,可能學需要統計每個等次的學生數,則可以用公式:=COUNTIF(E$3:E$31,G3),含義是在H3中統計E3:E31區域內等于G3的數量,區域是不變的,所以絕對引用,但G3在下拉填充時是需要變為G4的,所以相對引用。