加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

excel计算学生成绩

(2010-01-01 22:55:35)
标签:

杂谈

分类: microsoft

excel计算学生成绩

 

及格率的公式:   =countif(f2:f50,">=60")/count(f2:f50)
   优秀率的公式:(假定大于85为优秀)
                =countif(f2:f50,">85")/count(f2:f50)

 

总分:=sum(b2:c4,f2:g4)
均分:=average(b2:c4,f2:g4)
合格数:=countif(b2:c4,>=60)+countif(f2:g4,>=60)
合格率:=合格数/12
优秀数::=countif(b2:c4,>=80)+countif(f2:g4,>=80)
优秀率:=优秀数/12

 

优秀数:=COUNTIF(e4:e38,">=80")

        =COUNTIF(k4:k16,">=80")

合格数:=COUNTIF(e4:e38,">=60")

        =COUNTIF(k4:k16,">=60")

 

 

排名次:如果你需要计算的在H列    在I列输入公式:
       =RANK(H1,$H$1:$H$100)      向下填充就可以了


设数据如图:

http://pic.wenwen.soso.com/p/20090928/20090928145949-1978724766.jpg

将公式 =ROUND(COUNTIF(B:B,">=60")/COUNT(B:B)*100,2)&"%"

       =ROUND(COUNTIF(B:B,">=80")/COUNT(B:B)*100,2)&"%"

       =ROUND(AVERAGE(B:B),2)

复制后粘贴到所需位置,如图:

http://pic.wenwen.soso.com/p/20090928/20090928150239-1656654563.jpg

 

一、排列名次

  要用到RANK函数,它是Excel中计算序数的主要工具,它的语法为:RANK(Number,Ref,Order),其中Number为参与计算的数字或含有数字的单元格,Ref是对参与计算的数字单元格区域的绝对引用,Order是用来说明排序方式的数字(如果Order为零或省略,则以降序方式给出结果,反之按升序方式)。例如:在E2:E50单元格区域中存放着某一个班的总分,那么计算总分名次的方法是:在F2单元格中输入“=RANK(E2,$E$2:$E$50)”按回车键可算出E2单元格内总分在班内的名次,我们再选定F2单元格,把鼠标指针移动到填充柄上按下鼠标左键向下拖动鼠标即可算出其他总分在班内的名次。

  在计算的过程中我们需要注意两点:首先当RANK函数中的Number不是一个数时,其返回值为“#VALUE!”,影响美观。另外,Excel有时将空白单元格当成是数值“0”处理,造成所有成绩空缺者都是最后一名,看上去也很不舒服。此时,可将上面的公式“=RANK(E2,$E$2:$E$50)”改为“=IF(ISNUMBER(E2),RANK(E2,$e$2:$E$50),"")”。其含义是先判断E2单元格里面有没有数值,如果有则计算名次,没有则空白。其次当使用RANK函数计算名次时,相同分数算出的名次也相同,这会造成后续名次的空缺,但这并不影响我们的工作。同样的道理,我们也可以算出一个学生的总分在年级内的名次以及各科的班名次和年级名次,但是必须注意参与计算的数字单元格区域不一样。

  二、求各种分数

  求总分:主要用SUM函数,其语法格式为SUM(Ref),此处Ref为参与计算的单元格区域。例如:SUM(B2:E2)是表示求B2、C2、D2、E2四个单元格内数字的和。另外还用到SUMIF函数,语法格式为SUMIF(Range,Criteria,Sum_range),其功能是根据指定条件对若干单元格求和,参数Range表示引用,用于条件判断的单元格区域。Criteria表示数字、表达式或文本,指出哪些单元格符合被相加求和的条件。Sum_range表示引用,需要求和的实际单元格。注意:Criteria如果是文本,那么引号应该是半角的,而不是全角的,否则会出错!

  求平均分:用AVERAGE函数,其语法格式为AVERAGE(Ref),此处Ref为参与计算的单元格区域。例如AVERAGE(F2:F50)是求F2:F50区域内数字的平均值。默认情况下,Excel 2002会忽略掉空白的单元格,但是它不忽略数值为0的单元格,要想忽略数值为0的单元格需要用到COUNTIF函数,其语法为COUNTIF(Range,Criteria),其含义是计算某个区域中满足给定条件的单元格数目。本例求F2:F50的平均分,如果忽略数值为0的单元格可以这样计算:SUM(F2:F50)/COUNTIF(F2:F50,"<>0")。另外如果要求去掉几个最高分和几个最低分然后取平均分的话,用到LARGE和SMALL函数,其语法格式为LARGE(array,k),含义是返回数组中第k个最大值,SMALL(array,k)的含义是返回数组中第k个最小值。如果我们求F2:F50中去掉两个最高分和两个最低分之后的平均分可以这样计算:“SUM(F2:F50)-LARGE(F2:F50,1)-LARGE(F2:F50,2)-SMALL(F2:F50,1)-SMALL(F2:F50,2))/COUNTIF(F2:F50-4)”。

  求最高分、最低分:MAX和MIN函数,语法格式分别为MAX(Ref)和MIN(Ref),如上例中求F2:F50的最高分和最低分,应该这样:MAX(F2:F50)和MIN(F2:F50)。

  三、求及格率、优秀率

  求及格率:及格率即一个班级中某一科大于等于60分的比例,例如:B2:B50中是某一个班的语文成绩,可以这样求及格率:COUNTIF(B2:B50,">=60")/COUNT(B2:B50)。

  求优秀率:例如:B2:B50存放的是初一一班的语文期末考试成绩,B2:B500存放的是初一全年级语文考试的成绩,如果规定全年级20%的学生为优秀,那么初一一班语文的优秀率应该这样计算:“COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2COUNT(B2:B500))))/COUNT(B2:B50)”,其中LARGE(B2:B500,INT(0.2COUNT(B2:B500)))所求的是全年级语文分数前20%中最低的一个同学的分数,COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2*COUNT(B2:B500))))则是求出了初一一班语文高于或等于这个同学分数的人数,最后再除以初一一班的总人数COUNT(B2:B50),所得就是初一一班的语文优秀率,如果想求其他班其他科目的优秀率,道理都是一样。

 

一、排名

    如下表,若标题行为1,李雨欣同学所在行为2的话,则应该在L2单元格内输入“=RANK(K2,$K$2:$K$9)”,其中“$K$2:$K$9”意思为计算的范围是第二行至第9行。

A

 B

C

D

E

F

G

H

I

J

K

L

考号

姓名

班级

语文

数学

英语

政治

历史

生物

地理

总分

名次

Y001

李雨欣

703

85

98

94

93

88

98

95

651

1

H003

侯其文

703

81

97

92

93

96

89

95

643

2

H005

王亚丽

702

80

97

93

91

93

90

83

627

3

F001

奚明珍

701

89

87

90

89

97

87

87

626

4

F004

戴晟浩

704

82

89

90

89

95

87

87

619

5

F009

骆玉林

704

81

90

87

85

97

92

87

619

5

H001

周国庆

701

79

96

93

91

84

84

87

614

7

E001

杨景炫

702

87

91

85

83

95

84

87

612

8

 

二、优秀率和及格率

    仍以上表为例,如计算语文的及格率或优秀率,则应该在D1938单元格内输入以下公式:

    及格率——输入公:=TEXT(COUNTIF(D2:D9,">=60")/COUNTA(D2:D9)*100,"00.00")&"%"
    优秀率——输入公
:=TEXT(COUNTIF(D2:D9,">=80")/COUNTA(D2:D9)*100,"00.00")&"%"
    说明:

    1、COUNTIF(D2:D9,">=60")的意思是统计D2至D9区域中大于或等于60分的人的个数,COUNTA(D2:D9)是统计一共有多少个人,它们相除得到一个小数。

    2、COUNTIF(D2:D9,">=60")/COUNTA(D2:D9)*100是将这个小数乘以100得到百分比的分子。

    3、TEXT是将这个数转换为文本,并且取两位小数,最后&"%"是在这个分子后面加上百分比符号。

 

    求及格率:及格率即一个班级中某一科大于等于60分的比例,例如:B2:B50中是某一个班的语文成绩,可以这样求及格率:COUNTIF(B2:B50,">=60")/COUNT(B2:B50)。
  求优秀率:例如:B2:B50存放的是初一一班的语文期末考试成绩,B2:B500存放的是初一全年级语文考试的成绩,如果规定全年级20%的学生为优秀,那么初一一班语文的优秀率应该这样计算:“COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2 COUNT(B2:B500))))/COUNT(B2:B50)”,其中LARGE(B2:B500,INT(0.2 COUNT(B2:B500)))所求的是全年级语文分数前20%中最低的一个同学的分数,COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2*COUNT(B2:B500))))则是求出了初一一班语文高于或等于这个同学分数的人数,最后再除以初一一班的总人数COUNT(B2:B50),所得就是初一一班的语文优秀率,如果想求其他班其他科目的优秀率,道理都是一样。

 

 

以下图为例,说明在Excel中求“全科及格率”的方法:


http://bbs.mspil.edu.cn/BBS/skins/default/filetype/jpg.gif此主题相关图片如下:
http://bbs.mspil.edu.cn/BBS/UploadFile/2007-6/200762520543647482.jpg
输入公式=SUM(IF(C2:C11>=60,IF(D2:D11>=60,IF(E2:E11>=60,1,0))))/COUNTA(C2:C11)后同时按住shift+ctrl,回车就出现了{},也就得到了想要的数据。

这是求图中三科“全科合格率”的方法,若要求更多科目的,在SUM后面的括号内的区间中输入更多科目的相应区间即可,例如=SUM(IF(C2:C11>=60,IF(D2:D11>=60,IF(E2:E11>=60,IF(F2:F11>=60,1,0)))))/COUNTA(C2:C11)就多加了一科。

若要求全科及格的人数,不需要输入/COUNTA(C2:C11),同时按下shift+ctrl,回车即可。

注意:1、公式中的括号要完整,有几个左括号,就得有几个相应的右括号。2、各区间指定具体值(如>=60)后要用逗号隔开。3、COUNTA后面的区间可以是“姓名”或者其他科目所对应的区间,旨在“除以”总人数而已。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有