怎样用公式求平均分、及格率、优秀率、各科合格率和各分数段的人数?

在Excel工作薄中,工作表1里有六个班的学生三科成绩,要在工作表2中用公式统计出平均分、及格率、优秀率、各科合格率。请高手赐教。

A:A为分数区域
平均分=average(A:A)
及格率=COUNTIF(A:A,">=60")/COUNT(A:A)
优秀率=COUNTIF(A:A,">=90")/COUNT(A:A)
各科合格率同及格率,不同的是选择的分数区域
各分段人数=COUNTIF(A:A,"分段条件")追问

我要求帮助解决两点:一是自动按班统计,二是结果要在工作表二上。(合格率是指几科同时及格)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-26
请到这里:
看一看,你一定会有收获,而且有了它,你会成绩统计的高手。
第2个回答  2011-11-18
请详细列出班名所在列,三科成绩所在的列,否则很难写清楚追问

工作表1的表头如下:
学号 班级 姓名 语文 数学 英语 总分

追答

函数不复杂,但是为了让内容简单,便于你以后更改,所以有一些需要事先准备的工作。另外,因为不知道你的excel版本,所以我采用的是在97-2003可以识别的函数,因此比2007看起来稍微有些复杂。
首先,在表一请先选中班级所在列,然后再左上角的名称框中输入class,同样的方法依次将语文、数学、英语分别命名为CHN、MTH、ENG,总分列命名为score
然后在表二上分别录入6个班级的名称在A2到A7,CHN、MTH、ENG、score分别在B1到E1,这样形成了统计表格的区域
先算平均分:
在B2格:={sum(indirect(B$1)*(class=$A2))/countif(class,$A2)},注意大括号不是输入的,是通过录入所有代码后同时按CTRL+SHIFT+ENTER产生的
然后向下、向右填充或复制即可
同理,及格率:
还是以B2格为例:={text(sum((indirect(B$1)>=60)*(class=$A2))/countif(class,$A2),"0.00%")}
优秀率,就是将及格率中的60分改成你们所设定的优秀标准即可
合格率:={text(sum(CHN>=60)*(MTH>=60)*(ENG>=60)*(class=$A2))/countif(class,$A2),"0.00%")}

追问

谢谢您,费心了。您这公式好像没有引用工作表1的数据。我用的是Excel 2007,能一样操作么?

追答

直接引用的话,在函数表达式中的字符会比较多,读写都不方便,如果经常要重复使用这个表格,所以在写函数表达之前,采取了给表格区域命名的方式,这样在函数中就可以直接跨表格引用了。
2007可以兼容以前的版本,但2003之前均不能使用2007的部分函数,所以我先按照2003的函数书写,在计算结果上没有问题,只是阅读起来稍微复杂一些。
以后有空可以再改成2007的特有函数表达

追问

试了一下,做不出来,不知什么地方出问题了。我能将表格发给您,看看您是怎么做的吗?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网