对于分析学生成绩,Excel软件中有很多实用的函数,如基本的求和、平均分、排名、合格率、优分率等,相信难不倒大多数教师。而在实际运用中,一些特殊需求还是会用到一些不常用的函数。现在高三考试小学科都按一定比例分等级的,如A+、A、B+、B、C、D等级,那我们在输入分数后如何将其化成等级呢?下面就来了解如何运用Excel函数解决该问题。
【需求分析】根据高三小学科分数按不同分数线分等级,期望显示出如A+、A、B+、B、C、D等级(如图1)。

图1
【解决方案一】LOOKUP函数
LOOKUP函数的特性在Excel的帮助里有很详细的解释,这里用到的是数组形式。下面直接对照图例来解释它的用法。我将需要查找的值放到数组中进行对比(如图2),返回的值小于且接近于查找的数值。

图2
如A2为92,对应单元格B2输入=LOOK
UP(A2,{0,50,60,70,80,90}),则结果显示为“90”。
那么在对应数值后加入相应字符串,则返回的就是对应字符串中的内容了,我们在C列中来尝试一下(如图3)。

图3
C2=LOOKUP(A2,{0,"D";50,"C";60,"B";70,"B+";80,"A";90,"A+"}),则返回小于并接近93的值“90”之后对应的字符串“A+”。接下来,选中C2向下填充,就得到我们想要的其他单元格结果了。
注意:公式中所希望呈现的字符串A+、A、B+、B、C、D需要用" "分别括起来。
【解决方案二】IF函数
IF函数(条件函数)大家都用过,基本格式为:IF(logical_test,value_if_true,value_if_false)
例如:=IF(A2<60, "不及格", "及格"),即A2的值如果满足“<60”则显示“不及格”,如果不满足“<60”则显示“及格”。这里需求等第有多个,不能只用一次条件判断,所以需要用到循环嵌套模式(如图4)。

图4
B2=IF(A2<50,"D",IF(A2<60,"C",IF(A2<70,"B",IF(A2<80,"B+",IF(A2<90,"A","A+"))))),此时判断A2数据是否大于50,是的,返回值为D;否则,接着判断是否大于60,是的,返回值为C;否则继续判断是否大于70,是的,返回值为B;否则继续判断是否大于80,是的,返回值为B+;否则继续判断是否大于90,是的,返回值为A;否则只有大于等于90的情况了,那么返回值为A+。
【解决方案三】TEXT函数
TEXT函数的功能是实现格式化文本输出,可以将数值内容转换成文本并按指定格式输出。我们这里用它的一个特殊功能,就是把成绩与评级中的条件进行对比,看结果在哪个范围就返回相应的评级。
如果只有三个等级,优、良、中,可以使用=TEXT(A2,"[<40]!中;[<70]!良;优),这种只能用于三个条件的判断返回对应结果,最后一个是前两个条件都不满足,返回“优”(如图5)。

图5
注意:这里显示条件满足后的字符串,字符串之前需要加“!”。
如果再加一个条件,TEXT函数貌似就无法使用,那么得换另外一种形式,写成=TEXT(0&A2-40,"[>50]!优;[>30]!良;!中;!差")。这表示如果A2-40的值满足前两个条件,则返回后面字符。细心的你会发现那最后都没有条件,是如何进行返回的呢?如果A2-40的值>=0,则返回倒数第二个字符“中”,如果<0则返回倒数第一个字符“差”(如图6)。

图6
注意:公式里要加一个“0&”的原因是为了避免有空单元格出现,如果不加的话,就会提示错误。
即便如此,TEXT函数也只能有四个等级判断,而需求分析有六种等级,那么就再学习IF函数,采用嵌套模式(如图7)。

图7
至此,TEXT遇到无论多少个等级都能判断出来了。
总的来说,笔者认为三种函数各有特色,对于判断等第还是LOOKUP函数最方便,如果教师们能理清楚嵌套关系也可对后面两个函数多加尝试,在实践中提高自己对Excel软件的应用能力。