Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1372|回复: 0

VBA高高手进来解决此难题有谁能做出来

[复制链接]
发表于 2016-3-4 14:18 | 显示全部楼层 |阅读模式
VBA高高手进来解决此难题有谁能做出来

五个运动员,姓名和分数分别如下


腾飞  8,8.5,8.5,9,8.5,8.5,8,3.2

马超  9.5,9,8.5,8,9,8.5,8.5,3

王玲  8.5,7.5,7.5,8,8.5,8,8.5,2.9

张峰  7.5,7 ,8,7.5,8,7,8,3.1

赵意   9,9,8.5,8.5,8,9,8,3.1


用GETMARK函数,参数N为运动员顺序号,变量S用于记录某运动员的7个分数之和,其初值设为该运动员的第1个分数(即A(N,1)

统计7个分数之和在FOR循环中完成,依次将第2~7个分数累加入变量S,故循环终值应为7

成绩计算方法:去掉一个最高分和一个最低分,求剩下得分的平均分,再乘以3,再乘以难度系数。


变量MAXNUM和MINNUM分别为最高分和最低分,数组元素A(N,8)是难度系数,故GETMARK函数返回值应为GETMARK=S*3*A(N,8)



“选出冠军“中,一个整形变量MAX,用于记录最后得分较高的运动员序号,其初值可设为1。

通过FOR循环依次比较第1个运动员与后面4人的最后得分,并用MAX记录下最后得分较高的运动员序号。


当循环结束时,数组元素ATHLETE(MAX)即为冠军的姓名,函数GETMARK(MAX)值即为其最后得分


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 16:48 , Processed in 0.215534 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表