论文部分内容阅读
读了2007年第3期中《巧用EXCEL统计体育达标成绩》一文,很有感触。我也是一名体育教师,与《巧》文作者不同的是,我教的是高中,学生达标成绩的分数段更多,从5分到100分,有20个段,如果单纯使用IF函数,是不能够查对出所有的成绩的,通过不断地摸索和研究,终于找到了解决办法。
首先,我建立了一份评分表(图1)。分值按照升序从5分到100分,径赛类项目如50米和800米、1000米,使用负值来表示,所有的测试成绩都是按升序排列。另外,为避免当测试成绩低于最低分值成绩时出现错误,在5分的上面我又增加一栏空白,对应的成绩值也大大低于其它值(设想学生最低成绩)。
建立好评分表后,接下来就是建学生成绩登记表(图2)了。为了更好地让Excel自动结算出成绩,在学生姓名旁加了性别。在把学生的测试成绩转换为分值时,用到了IF、LOOKUP两个函数。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值。如果需要指定包含待查找数值的区域,则可以使用函数 LOOKUP 的这种形式。函数 LOOKUP 的另一种形式为自动在第一列或第一行中查找数值。语法:LOOKUP(lookup_value,lookup_vector,result_vector)。
例如:图2中查找第一个学生50米成绩的对应分值:IF(D7="","",IF(C7="男",LOOKUP(-D7,评分表!$B$6:$B$26,评分表!$A$6:$A$26),LOOKUP(-D7,评分表!$C$6:$C$26,评分表!$A$6:$A$26)))。说明:如果成绩栏是空的,则返回空值,否则进行第二个判断;如果性别栏填写是“男”,则返回第一个LOOKUP函数的值,否则返回第二个LOOKUP函数的值;函数LOOKUP查找男生的分值:从“评分表!$B$6:$B$26”区域里找出与“-D7”相等或大于的值,然后从“评分表!$A$6:$A$26”区域中返回与它相同位置处的数值。解释:在体育运动中,有的项目测验数值小(用时少)得分反而高,如田径中的径赛项目;有的项目测验数值大得分而也高,如田赛项目。而Lookup-vector的数值必须按升序排列-2、-1、0、1、2、、A-Z、FALSE、TRUE;否则,函数不能返回正确的结果。如果lookup-value小于lookup-vector中的最小值,函数LOOKUP返回错误值#N/A。因此,把评分表里径赛类项目如50米和800米、1000米,使用负值来表示,公式中也用“-D7”。评分表的区域使用绝对值,在复制公式时就不会发生变化。成绩数据的录入全部采用数字化的方法录入达标成绩数据。短跑数:录入9秒5用9.5表示;长跑类:录入2分45秒用2.45表示,其它各相类似。
其它项目的评分栏调用的公式和函数一样,只是公式中的评分表查找区域和返回区域要与项目对应。后面的成绩累计栏可以用公式“=SUM(E7,G7,I7,K7,M7)”来进行计算。达标等级也用IF函数来判断“=IF(N7>=420,"优秀",IF(N7>=350,"良好",IF(N7>=250,"合格",IF(N7<250,"不及格"))))”。
各栏目所调用的函数和计算公式输入完毕后,进行测试,在测试过程中各项数值正确无误后,其它各行各栏目调用的函数和计算公式可以通过复制功能来完成。最后,把该文件另存为文档模板文件。
首先,我建立了一份评分表(图1)。分值按照升序从5分到100分,径赛类项目如50米和800米、1000米,使用负值来表示,所有的测试成绩都是按升序排列。另外,为避免当测试成绩低于最低分值成绩时出现错误,在5分的上面我又增加一栏空白,对应的成绩值也大大低于其它值(设想学生最低成绩)。
建立好评分表后,接下来就是建学生成绩登记表(图2)了。为了更好地让Excel自动结算出成绩,在学生姓名旁加了性别。在把学生的测试成绩转换为分值时,用到了IF、LOOKUP两个函数。函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值。如果需要指定包含待查找数值的区域,则可以使用函数 LOOKUP 的这种形式。函数 LOOKUP 的另一种形式为自动在第一列或第一行中查找数值。语法:LOOKUP(lookup_value,lookup_vector,result_vector)。
例如:图2中查找第一个学生50米成绩的对应分值:IF(D7="","",IF(C7="男",LOOKUP(-D7,评分表!$B$6:$B$26,评分表!$A$6:$A$26),LOOKUP(-D7,评分表!$C$6:$C$26,评分表!$A$6:$A$26)))。说明:如果成绩栏是空的,则返回空值,否则进行第二个判断;如果性别栏填写是“男”,则返回第一个LOOKUP函数的值,否则返回第二个LOOKUP函数的值;函数LOOKUP查找男生的分值:从“评分表!$B$6:$B$26”区域里找出与“-D7”相等或大于的值,然后从“评分表!$A$6:$A$26”区域中返回与它相同位置处的数值。解释:在体育运动中,有的项目测验数值小(用时少)得分反而高,如田径中的径赛项目;有的项目测验数值大得分而也高,如田赛项目。而Lookup-vector的数值必须按升序排列-2、-1、0、1、2、、A-Z、FALSE、TRUE;否则,函数不能返回正确的结果。如果lookup-value小于lookup-vector中的最小值,函数LOOKUP返回错误值#N/A。因此,把评分表里径赛类项目如50米和800米、1000米,使用负值来表示,公式中也用“-D7”。评分表的区域使用绝对值,在复制公式时就不会发生变化。成绩数据的录入全部采用数字化的方法录入达标成绩数据。短跑数:录入9秒5用9.5表示;长跑类:录入2分45秒用2.45表示,其它各相类似。
其它项目的评分栏调用的公式和函数一样,只是公式中的评分表查找区域和返回区域要与项目对应。后面的成绩累计栏可以用公式“=SUM(E7,G7,I7,K7,M7)”来进行计算。达标等级也用IF函数来判断“=IF(N7>=420,"优秀",IF(N7>=350,"良好",IF(N7>=250,"合格",IF(N7<250,"不及格"))))”。
各栏目所调用的函数和计算公式输入完毕后,进行测试,在测试过程中各项数值正确无误后,其它各行各栏目调用的函数和计算公式可以通过复制功能来完成。最后,把该文件另存为文档模板文件。