当前位置:首考文秘网>范文大全 > 公文范文 > 基于ExcelVBA的学生成绩统计及评定方法

基于ExcelVBA的学生成绩统计及评定方法

时间:2023-05-18 12:30:04 公文范文 来源:网友投稿

摘要:在统计学生大学四年的各科成绩的过程中,虽然教务系统可以导出Excel格式的原始成绩数据,但无法满足个性化的数据处理需求。为此,该文利用Excel VBA强大的数据处理功能,在对成绩统计及评定需求梳理的基础上,编程实现了学生成绩统计及评定方法,涵盖打开目标Excel文件、数据筛选、数据统计和综合评定等功能。结果表明,基于Excel VBA的数据处理能够满足个性化的需求,极大地提高了工作效率。

关键词:Excel;VBA;宏;成绩统计

中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2016)05-0129-03

Abstract: In order to analyze and gather statistical achievements of undergraduate courses, the excel format files of raw students’ achievements are exported from the educational administration system, and then a method is proposed to satisfy the data processing requirements. Based on the statistical and valuational requirements, this paper suggests a method which uses Excel VBA to deal with achievements in the excel format files, and includes opening excel file, screening data, statistical data and comprehensive evaluation. The results show that the method using Excel VBA satisfies the data processing requirements and improves work efficiency greatly.

Key words: Excel; VBA; Marco; Statistical Achievements

传统的教学工作中,对于学生学习成绩的统计及评定是教师的重要工作之一。随着办公自动化水平的提升,教务系统等办公自动化软件所管理的学生成绩数据量越来越大、数据类型越来越复杂,同时综合素质涉及的加分项越来越多。虽然这些系统软件可以承担大部分的常规统计工作,但却无法满足不同教师对学生综合成绩千差万别的处理需求。因此,满足个性化需求的学生成绩处理方法,尤其是能够快速、准确、全面的统计应届毕业生大学四年间的成绩数据并评定出每一位同学综合成绩的方法,成为帮助教育工作者开展学生综合成绩评定、提升工作效率的必要工具。

Microsoft Excel作为一款必备的办公软件,其强大的数据处理和统计分析功能使之成为日常处理学生成绩数据的重要工具,但是面对个性化需求的应届毕业生成绩筛选、统计和评定,常规的数据处理函数已经无法满足要求[1-3]。因此,本文在梳理应届毕业生成绩筛选、统计和评定需求的基础上,利用Excel VBA(Visual Basic for Applications)强大的编程功能,设计并实现了一种学生成绩统计及评定方法,涵盖打开目标Excel文件、数据读取及筛选、数据统计及综合评定等功能。

1 相关基础技术

1.1 Excel对象模型

Microsoft Office体系采用层次(嵌套)对象模型,通过对象把Office的数据、属性、操作封装起来[4]。Office中的文档、段落、工作表等各种实体都是对象,可以通过创建相应的对象实现对其所属对象、属性、方法的访问控制。

Excel对象模型的整体结构如图1所示,其基本描述了Excel的对象层次和操作对象,对图1中各个对象的简要介绍如下:

1)一个Excel应用程序就是一个Application;

2)一个Application可以包含多个Workbook(Workbooks)。例如,可以同时打开很多个工作簿(Workbooks),但某一时刻只有一个工作簿(Workbook)处于编辑状态,这个工作簿叫做活动工作簿(ActiveWorkbook);

3)一个Workbook可以包含多个Worksheet(Worksheets)(与Workbook和Workbooks类似);

4)一个Workbook可以包含多Shapes对象,图表(Charts)是其中的一种;

5)一个Worksheet可以包含多个Range对象。例如,一个工作表里面有很多个单元格,单元格的范围用Range表示,单元格都是嵌入到Sheet页中的。

1.2 Excel VBA

VBA是一种标准宏语言[5],是Microsoft基于VB语言开发出来的为使Word和Excel的处理自动化的通用语言,可以将其视为应用程序开发语言VB的子集。因此,VBA继承了VB的基本结构,也是一种完整的程序设计语言;同时,与VB不同之处在于,VBA是一种寄生于父应用程序(如Excel、Word)的语言,其程序运行必须依赖其父应用程序。

VBA在Microsoft Office系列软件中均有集成,并提供了访问Office文档的接口,包含了多种专用的函数和对象,可以非常便捷的对Office文档中各个对象、对象的属性进行访问和操作[6]。其主要应用场景包括两类:一是在对用户操作进行梳理、规范的基础上,通过录制宏、编辑宏将用户操作固化成VBA程序代码,用户可在父应用程序中点击执行宏以实现用户操作的自动化;二是将固化的VBA程序代码模块化,通过在其他程序开发过程中直接调用VBA模块,实现代码复用。

Excel作为一种常用的数据处理和统计分析工具,在日常办公过程中不可避免的会面临各式各样的数据统计分析问题,而这类纷繁复杂的数据处理工作通常又具有一定的规律性,可以通过Excel VBA访问上一节中的Excel对象,将对Excel中数据信息的处理规范化、自动化。

2 设计与实现

2.1 总体设计

由于在实际工作中面对不同的需求,对学生成绩数据的处理过程有各种不同的需求,本文方法在综合分析各种需求的基础上,给出了“获取”、“筛选”、“统计”和“评定”的四阶段处理流程,每一阶段根据不同的规则可以调用不同的处理函数,最终在完成上述四个阶段的数据处理后完成学生成绩的综合评定。与之相对应,本文方法可分为数据获取、数据筛选、数据统计和综合评定四个处理模块,各个模块具体功能如下:

1)数据获取:根据指定的学生成绩数据文件,读取其中的有效数据,包括学生学号、姓名、科目及成绩等;

2)数据筛选:在进行学生综合评定时,某些选修科目是不计入评定的,因此需要根据不同的筛选规则剔除无效的成绩数据;

3)数据统计:将不同学期的成绩进行关联统计,并根据指定的统计规则进行处理,得出基本的数据统计结果;

4)综合评定:对学生的综合评定需要结合考试成绩和多种素质评分,可根据评定规则执行。

综上所述,筛选、统计和评定的要求较复杂,无法建立通用的处理方法,因此本文方法只是针对其中的某些需求进行了定制开发,实现自动化处理以提高工作效率,同时这种模式也可以推广到其他类似的数据处理需求中。具体而言,本文方法所涉及的需求可描述为“一项输入、三类输出”:

1)一项输入:即输入数据为教务系统按照学期导出的四年间的八份成绩单;

2)三类输出:筛选,是对教务系统所导出成绩单数据的初步处理,具体包括将不需要计入统计的科目筛除;统计,是指将八个学期中计入统计的科目成绩数据根据学生学号进行有效关联;评定,结合科目成绩、公选课成绩和创新学分,按照加权平均进行综合评定。

2.2 方法实现

2.2.1 数据获取

本文方法以学校教务系统中存储的学生成绩作为唯一有效数据,利用Excel VBA对这些数据进行综合处理。

由于教务系统一次只能导出某一学期的成绩单,因此首先需要在教务系统中指定班级,按照学期分别导出全部学生的各个科目成绩,生成固定格式的Excel文件,格式如图2所示。

其中,第一行为成绩单抬头,第二行为学期说明,第三行为年级、学院等信息,第四行为科目名称及统计类别,第五行为科目的说明信息,第六行依次分别为编号、学号、姓名、各科目成绩以及统计成绩信息。同时本文规定该Excel文件的命名规则为“学年-学期”,如文件名“1-1”表示第一学年第一学期的成绩。

2.2.2数据筛选

对表2中的成绩,并不是所有科目都需计入考核,因此需要对每一学期的成绩数据进行筛选,分为以下两部分。

1)配置文件

通过建立配置文件以筛选每一学期列入统计项的科目名称,同样以Excel格式存储,只需输入图2中的课程名称即可,例如选取图2种的计算机应用基础、高级语言程序设计、高等数学1、线性代数、英语1等五门课程。图3为配置文件示意图;

2)Excel VBA编程筛选

利用Excel VBA编程,以学生学号为唯一标识,将八个学期的列入配置文件的科目成绩和参评的其他成绩进行自动筛选,处理流程如下:

步骤1:打开配置文件,获取每一学期列入评定的科目名称;

步骤2:选定第一学期的Excel成绩单,将学生学号、学生名称、配置单内的科目,这些数据列的数据复制到名为“总成绩”的Sheet中;

步骤3:依次打开第二学期后的Excel成绩单,按照“总成绩”Sheet中的学号选取每一个学生在对应配置单内科目的成绩;

步骤4:名为“总成绩”的Sheet即为筛选参评的数据。

2.2.3数据统计

对“总成绩”Sheet中的成绩数据,可以根据不同的需求进行统计。本文进行了以下几类统计:

1)将“优、良、中、差”映射为具体分数以便于统计,分别对应90、80、70、60;

2)统计某科目成绩大于85分的学生总数;

3)统计每个学生所有科目中大于85分的科目数量;

4)统计成绩不合格学生的数量,学生名称、科目和对应的成绩。

2.2.4综合评定

综合评定的标准和规则没有明确规定,在进行充分的讨论之后,按照各科总成绩、创新学分、公共选修课学分进行加权平均,处理流程如下:

步骤1:统计每一位学生的各科总成绩、创新学分总数和公共选修课总学分;

步骤2:分别对上述三项成绩进行归一化处理;

步骤3:按照既定权重对归一化后的三项成绩加权平均,得到综合评定成绩;

步骤4:按照综合评定成绩排序,完成综合评定。

3 应用实例

利用本文的统计分析方法,对本校2010级的学生成绩进行处理,结果如图4、图5所示。

4 总结

办公自动化系统的应用极大地提高了教师日常的工作效率,但总是存在部分工作由于各种个性化需求使其无法通过系统完成,需要教师手工处理,学生成绩的统计和评定就是其中重要的一项。

本文通过对Excel VBA的文件打开、数据选取和数据分析等基本功能的深入学习,实现了一种学生成绩统计及评定方法。通过“获取”、“筛选”、“统计”和“评定”四阶段处理流程,快速、准确、全面的统计应届毕业生大学四年间的成绩数据并评定出每一位同学综合成绩。本文方法简单实用,能够在此基础上通过简单移植和修改,解决日常工作中的多种统计分析工作,将部分个性化的需求转化为成熟的软件工具,提高工作效率。

感谢西藏民族大学科研创新团队建设专项经费资助。

参考文献:

[1] 李小遐. Excel VBA 在办公自动化中的应用[J]. 科技论坛, 2014(22):105-107.

[2] 王东燕. 用Excel 的宏和VBA 实现方便快捷的调查统计[J].办公自动化, 2010(11):44-47.

[3] 王亚利, 李井竹. 基于VBA 的Office 操作题自动阅卷技术的研究与实现[J]. 廊坊师范学院学报, 2008, 8(4):5-7.

[4] 协同教育微软ATC 教材编译室1OFFICE 专家案例教程EXCEL 2000 [M].北京: 电子工业出版社, 1999: 56-58

[5] 陈军民. Excel VBA 在Office 中的应用案例[J]. 电脑知识与技术, 2013(4):2819-2821.

[6] 杨峻, 睢丹. VBA在Excel中的应用[J]. 安阳大学学报, 2003, 2(2):44-45.

推荐访问:评定 成绩 统计 方法 学生

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91