用Excel自动计算各年级体育成绩
1、整理各项体质检测标准为统一数据格式。
2、体测标准有两种,一种为实测成绩越高,得分越高,如肺活量,仰卧起坐,跳绳等;
3、另一种为实测成绩越高,得分越低,如50米跑,耐力跑,BMI指数等。
4、查询计算
由于出现了年级,性别和不同实测成绩对应分值,需要构造两个VBA函数进行查询和计算:
1) 按年级性别查询体质(1类标准):
函数:
构造自定义函数vba函数:GeneralSearch
示例:
GeneralSearch("项目标准表名称",性别,年级,体育项目名称,实测成绩项)
2) 按年级性别查询体质(2类标准):
函数:
构造自定义vba函数:SearchType1
示例:
SearchType1("项目标准表名称",性别,年级,体育项目名称,实测成绩项)
5、第三步:查询权重
在二维权重表(年级-项目)中查询不同年级的不同项目比重的方法:
函数:
使用两个excel自带函数INDEX和MATCH进行组合,实现对一个二维表的查询:
示例:
INDEX(项目权重表范围,MATCH(所需项目,项目权重表项目名称列,),MATCH(所需年级,项目权重表年级名称行,))
6、第四步:限制空值
由于不同年级计算总分的项目不同,以及自定义函数GeneralSearch返回值,都会使EXCEL计算总分时的参数中出现空值或不必要的文本返回值,造成求和公式出错,为了计算过程的整洁性和excel模板的通用性,需要对数据进行空值和文本返回值过滤。
函数:
使用IF函数的嵌套实现过滤多个非法返回值进入计算
示例:
IF(单项成绩值="",0,IF(单项成绩值="未找到",0,单项成绩值))
7、模板实例
以上内容仅为说明原理的方法,具体的Excel模板可下载后直接使用。
若需改动或自行修改,可参考以上步骤和方法。
excel模板和体质检测标准文档可以在百度云盘下载:
https://pan.baidu.com/s/1ibnZCwyPRcXuamr1UvScnQ