如果要对某份成绩表求每学科前30%学生的平均成绩,那么我们一定会想到使用SUMIF函数。在WPS表格2007中新增加的这个函数在解决这类问题上是非常方便的。不过,如果我们的成绩表已经存在,而且我们不能改变成绩表的结构,比如增加辅助以求各学科的名次。那么,此时应该如何处理呢?要计算每一学科前30%的学生的该科平均分,一种可行的办法是:对每一学科分别排序,然后计算该学科前30%学生的人数(考虑到可能会有名次并列的问题,所以,每一学科的前30%的人数是不相同的,即使是同一个班级也是如此),再计算平均分,这种方法当然可以解决问题。不过,这种操作是相当繁琐的,特别是当这样的成绩表数量比较多时。
在WPS表格中,我们可以借助于SUM函数及数组公式解决这个问题,使我们摆脱繁琐的操作。
成绩表如图1所示。各学科的成绩分布在C3:G95单元格区域,每一列为一个学科。
我们先求C列语文学科的前30%学生的人数。点击C96单元格,在单元格中输入如下公式“=SUM(1* (RANK(C$3:C$95,C$3:C$95)<=50*0.3))”,然后将鼠标定位于编辑栏,按下“Ctrl+Shift+Enter”快捷键,可以看到在公式的外层自动添加了数组公式的标记――一对大括号。当然,在C96单元格已经可以看到符合条件的人数了。如图2所示。
符合条件的学生成绩的总分的求法与人数求法是基本一致的。只要在C97单元格输入如下公式“=SUM((C$3:C$95)* (RANK(C$3:C$95,C$3:C$95)<=C96))”,然后一定记得按下“Ctrl+Shift+Enter”快捷键,就可以得到相应的分数了。
至于那个平均分,就更简单了。只要在C98单元格中输入公式“=C97/C96”,按下回车键,就可以得到所需要的分数了。
选中C96:C98单元格。拖动该单元格区域的填充句柄向右复制公式至G98单元格。松开鼠标后,就可以很轻松地得到全部学科的符合条件的人数、总分和平均分了,如图3所示。
……