Excel VBA程序开发

hjd528 Lv.3

关注
本帖最后由 hjd528 于 2025-11-12 22:12 编辑

各位老师,最近帮同事做了一个运动会积分统计表,用函数完成起来比较麻烦,运行也很慢。现求助如何用VBA进行统计。

主要有三个表:个人项目表、团体项目表和积分总表,分三次完成。

1. 计算个人项目表的名次和积分,且每个项目名次按升序排列;

2. 计算团体项目表的名次和积分,且每个项目名次按升序排列;

3. 完成积分总表的各项细目,团体总分分年级按班级总分进行降序排列。

计分规则如下:
一、个人项目
      按每个项目参赛人员进行取名次计分
      达12人达时取前8名,分别计分为9,7,6,5,4,3,2,1;
      达9人不足11人时取前6名,分别计分为7,5,4,3,2,1;
      达6人不足9人时取前4名,计分为7,5,4,3;
      达4人不足6人时取前2名,分别计分为7,5。
二、团体项目
      按年级进行取名次计分
      有四个班级的年级的取前3名,分别计分为14,10,8
      有三个班级的年级的取前2名,分别计分为14,10

排名按美式排名方法:如前六名1,2,2,4,4,7.......

麻烦各位老师了。



记分规则.png

个人项目.png

团体项目.png

积分总表.png

运动会积分表.rar   2025-11-9 14:37 上传

33.63 KB, 下载次数: 16




运动会积分表(函数版).rar   2025-11-9 20:55 上传

76.73 KB, 下载次数: 10

716阅读
26回复 倒序

逍遥爱迪生 Lv.4 3楼

搞个VBA吧,把数字存到数组或变量,

hjd528 楼主 4楼

引用: 逍遥爱迪生 发表于 2025-11-9 19:13
搞个VBA吧,把数字存到数组或变量,

谢谢。能否帮我一下?

hjd528 楼主 5楼

引用: shiruiqiang 发表于 2025-11-9 19:11
https://club.excelhome.net/forum.php?mod=viewthread&tid=1721622&highlight=%D4%CB%B6%AF%BB%E1

谢谢。积分规则不一样,没法套用。

半百 Lv.6 6楼

请测试,只做了“个人项目"
image.png

运动会积分表.rar   2025-11-10 15:58 上传

54.71 KB, 下载次数: 10

hjd528 楼主 7楼

本帖最后由 hjd528 于 2025-11-10 17:47 编辑
引用: hjd528 发表于 2025-11-9 22:38
谢谢。积分规则不一样,没法套用。

。。。。。。。。。。。。。。。。。。。。

hjd528 楼主 8楼

引用: 半百 发表于 2025-11-10 15:59
请测试,只做了“个人项目"

谢谢老师!非常符合要求。现有两个需求:①每个项目(B列)的名次按升序排列;②运行程序时,先清除J、K列(从第三行起)的数据。

fgq5910 Lv.3 9楼

运动会积分表



运动会积分表123.rar   2025-11-10 22:16 上传

67.04 KB, 下载次数: 10

hjd528 楼主 10楼

本帖最后由 hjd528 于 2025-11-11 12:12 编辑
引用: fgq5910 发表于 2025-11-10 22:16
运动会积分表

非常感谢您。辛苦您了。今天仔细看了并验证了一下。有两个问题待解决。

1. 排名前要将每个项目的成绩按升序(径赛)或降序(其他)排列好,这个工作量比较大;

2. 并列名次没有解决。(用美式排名,成绩相同时则名次相同,并列名次占用名次的数量。名次不连续,如前4名:1,2,2,4)


加载更多