- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel在运动会径赛项目中的运用
精品论文 参考文献
Excel在运动会径赛项目中的运用
邸江峰 新疆华兵实验中学 830000
在校运动会秘书处算名次三年了,从开始尝试用VBA解决到现在已经比较成熟。
一、横变竖
径赛项目如初一女子60米预决赛,裁判组会将本项成绩送来。秘书组首先要做的就是将成绩录入,以期后面排序。录成绩时,可以拷贝总名单里现成的运动员分组数据,并完成横变竖。怎样将运动员分组数据变成竖排的呢。就是所有的运动员号在一列中。只需要从控件工具箱里拖出一个按钮,写以下代码就可以。
Private Sub横变数_Click()
For i=2 To Range(k65536).End(xlUp).Row/K行是用来存放结果的。意思就是遍历K行。
Cells(i,11)=Null/将K行和L行清空Cells(i,12)=Null/意思就是将上次横变数的结果清空。
Next/目的是尽量减少手工操作。
lie=Range(iv1).End(xlToLeft).Column/看下第一行数据有几列。就是几个道次。
hang=Range(A65536).End(xlUp).Row/看下第一列有几行。就是分的几组。
For i=2 To hang/遍历所有组中的运动员号码。
For j=2 To lie/遍历所有道次中运动员的号码。
If Cells(i,j)gt;0 Then/如果单元格中有空白的就放弃。
Cells(m+2,11)=Cells(i,j)/从K2单元格开始往下放置运动员号码。
m=m+1 End If Next Next EndSub
这样做的目的是用程序完成排序做准备。省却了录入运动员号码的麻烦。EXCEL中粘贴时可以用选择性粘贴中的“转置”,但是需要多次操作。在横变竖时,甚至都不用选择单元格但是要保证运动员分组数据拷贝位置从单元格A1开始,行列标题都不能有空。
二、求名次
不用选择不用排序,只需要一个按钮,就在不动号码顺序的情况下算出各运动员的名次、道次、班级奖励分。横变竖后,录入成绩后得到一组数据。怎样在不选择、不排序的情况下直接得到名次、道次、奖励分。不改变顺序的目的是利于检察录入是否有误,以防万一。
求名次的程序:
Private Sub 求名次_Click()
For j=2 To Range(b65536).End(xlUp).Row/B列是成绩行。用来确定共有几行成绩。
x=1/比较前所有成绩都是第一名。
For i=2 To Range(b65536).End(xlUp).Row/行内所有数据遍历。循环行数times;行数。
If Cells(j,2)gt;Cells(i,2) Then/冒泡法。
x=x+1/被比较数大于别的数的时候名次靠后。
End If Next Cells(j,3)=x/该成绩跟其他成绩比较一遍后,确定自己的名次Next EndSub。
三、分道次
求名次后求道次就方便多了,就是根据名次定道次。以下是有八道时候的程序。
PrivateSub分八道_Click()
Fori=2ToRange(b65536).End(xlUp).Row/确定有几个运动员。
Select Case Cells(i,3)/根据名次确定道次。
Case 1 Cells(i,4)=4/第一名是第4道。
Case 2 Cells(i,4)=5/第二名是第五道。
Case 3 Cells(i,4)=3/以此类推。
Case 4 Cells(i,4)=6
Case 5 Cells(i,4)=2
Case 6 Cells(i,4)=7
Case 7 Cells(i,4)=1
Case 8 Cells(i,4)=8
Case Else Cells(i,4)=Null EndSelect Next EndSub
有人说,为什么不把分道次的程序和求名次的程序合成到一起。那是因为,有时候要分6道或者4道。
四、求班级奖励分
求班级奖励分要分团体和个人。个人第一名到第八名的班级奖励分分别是9、7、6、5、4、3、2、1。团体是指集体项目,如接力,班级奖励分是个人项目的两倍。程序结构同分道次一致,这里不再赘述。
五、排序
为了便于直观地看到比赛结果,还是需要将原始顺序按照成绩排序,并顺带拷贝对应的名次、道次、奖励分。
Private Sub 排序_Click()
For i=2 To Range(f65536).End(xlUp).Row/确定旧数据有几行。
For j=6 To 10/是G行到K行。
Cells(i,j)=Null/
文档评论(0)