Excel VBA在网球赛事编排记录中运用的研究

2016-03-13 22:33陆英浩上海大学上海200444
文体用品与科技 2016年15期
关键词:网球赛表格网球

□ 陆英浩 张 耘(上海大学 上海 200444)

Excel VBA在网球赛事编排记录中运用的研究

□ 陆英浩 张 耘(上海大学 上海 200444)

网球赛事尤其是业余网球赛事的记录编排工作是一件繁琐、费时的工作,但又是一项赛事成功与否的重要决定因素。其工作过程中会使用到大量的表格,Excel强大的表格编辑功能,数据关联功能,函数运算功能能够十分高效的完成这些表格。

Excel VBA是office软件集成了Vision Basic高级编程语言的开发工具。在网球赛事的抽签,比赛顺序表的安排,比赛结果的录入和获胜方晋级中存在着大量繁琐、重复的工作。通过运用VAB编写的程序能够高效、准确的完成这些工作。

Excel VBA 网球赛事 编排记录

前言

近年来随着网球运动的蓬勃发展,无论是专业运动员参加的职业赛事,还是业余选手参加的业余比赛,网球赛事的数量急剧增加。中国职业网球赛事的数量逐年递增,赛事的级别也越来越高,这极大的刺激了网球文化的推广和网球人口的增加。巨大的网球人口使业余网球赛事不断增多,赛事规模越来越大。以全国大学生网球赛为例,在全国大学生网球协会成立之初只有寥寥几所大学是会员单位,第一届全国大学生网球比赛也只有十几所高校参加。可到2014年该协会已有近200所高校会员单位。近几年的全国大学生网球比赛参赛人数都近千人,比赛场次总数都超过了千场。如此大规模的网球赛事可谓叹为观止。这么多场次的比赛,无疑对赛事的组织者来说是一个巨大的挑战。参赛运动员的报名;各个比赛项目的抽签;每天赛程的安排;比赛结果的统计;赛事信息的发布,所有这些都形成了巨量的工作需要在短时间内完成。而一个网球赛事的成功与否,这些环节起着至关重要的作用。从实际工作中,我们发现这些繁琐的工作有很多都是简单的重复,这就意味着我们可以借助计算机系统去完成那些按照固定程序、简单重复的工作。甚至一些复杂的,但具有很强逻辑关系的工作也可以借助计算机来实现。由于计算机的高速的运算能力,可以使这些繁复的工作变得高效、快速并且具有更高的准确率。本研究就是通过运用Excel VBA的函数及编程功能,设计制作了一套用于网球赛事的计算机编排记录系统,以实现不断提高我网球赛事竞赛工作的效率。

1、问题的提出与解决方法

1.1、Excel表单的结构设计

一个网球赛事需要很多表格记录赛事的成绩,比赛结果;公布赛事的进行顺序。一般包括了如下表格:赛事信息表,参赛选手(团体队伍)名单,抽签完成后的签位表,每一轮次的对阵表,每天的比赛顺序表。这些表格在数据上都存在这一系列的关联,而表格的格式有各有不同。Excel软件在表格的设计;数据的关联、相互引用;公式计算方面都具有十分强大的功能。利用Excel表格能够罗列出有关赛事名称、比赛时间、比赛地点、比赛项目、赛制的设置、裁判长等主要赛事信息。在参赛名单的表格中能够运用Excel软件的函数、排序等功能完成对数据的整理、归纳,为下一步的抽签工作提供有效的数据。在手动抽签功能的实现中,运用Excel的函数功能将之前参赛名单作为引用对象,轻松的实现包括选手名字、单位、种子的关联。运用Excel VBA编程功能可以“一键”实现抽签,这将极大的简化抽签的过程,节约时间、提高功效。抽签工作完成后,通过数据的引用可以即时完成各个轮次的对阵表格,为下一步比赛顺序的安排提供了极大的便利。对阵表格同时也是比赛结果的输入的“容器”,在比赛结果输入的同时,通过对数据的判断完成签表中进位选手的自动操作,实现进位和比分记录。比赛顺序表的编排一直是一件费时、费力的工作,但利用Excel的引用和VBA的编程功能能够高效快速的实现编排功能,即使在需要临时改变比赛顺序时也能快速地作出调整。

1.2、格式的设计

网球比赛淘汰赛和循环赛的表格格式遵循了体育赛事的一般规律。但,网球赛事每日的比赛场次较多,特别是在参赛人数众多和项目设置复杂的业余赛事中,由于每场比赛时间的不可控因素,比赛顺序的表格的设计又有一定特殊性。Excel软件在表格的设置方面具有十分灵活的特性,所以能够轻松地设计出各种格式。通过对Excel表格中单元格不同位置的边框设置能够完美的显示出淘汰赛的格式。在循环赛的格式设计中,通过设置相同的单元格高度和宽度,能够很好的实现循环赛表格的显示。同时,通过单元格引用,能够实现参赛选手在“行”显示和“列”显示的同步。在每日比赛顺序表的格式设计中,运用Excel单元格边框设置,将显示每个比赛的比赛开始时间、比赛项目、对阵双方、代表单位等信息罗列在一个边框格之内,并将一天的比赛制作成一张大的表格。这样就能将一整天比赛顺序的信息全部展现出来,无论是参赛的运动员、教练员,还是裁判人员多能对一天的赛事进程有一个全面的了解。

1.3、模版的建立

在业余网球比赛中需要依据规程的要求和各项目参赛人数的多少设置淘汰赛的签位数或循环赛的分组数和每组的人数。这就给赛事各表格的设置带来了很大的麻烦。如果通过VAB代码来完成这些表格的设计和绘制,由于参数的多样性,各表格之间数据关联和引用的复杂性,势必使得代码十分冗长。程序的编写也会十分复杂。生成的文件会十分庞大,在实际程序运行中速度会变得十分缓慢。针对这些问题,本研究通过归纳各种淘汰赛签位数及分组循环赛分组数和每组人数的各类情况,预先制作各个签位数或分组情况的模版。在各个模版中设置各个表格的格式,建立数据的关联和引用,编写各自的VBA程序代码。在比赛之前根据赛事的要求,通过Excel表单复制的功能复制模版中相应的表单,建立符合各个项目需求的文件,这样既能灵活的适应不同赛事的要求,又能简化程序,提高运行的效率。

1.4、种子与轮空位的设置

在网球比赛中,种子的签位位置有着特殊要求,其原则是保护种子在比赛中获得优于非种子选手的晋级机会,同时使得种子选手之间尽可能的在较后的轮次中相遇。在业余网球比赛淘汰赛签位数或循环赛的分组数必须是2的N次幂,而参赛人数往往会少于预设的数字,这时就会产生轮空位置。在淘汰赛中轮空位置的设置,首先应该考虑的是种子依据排序的高低优先享有轮空。当轮空数多于种子时,应随机的发布到上下半区中。而循环赛中,则是种子所在的组优先享有轮空。这些抽签原则在本研究中,通过编写VBA程序代码由计算机自动来完成,这样使得本来十分繁琐的工作,借助Excel强大的编程功能高效、快速的得以完成。

1.5、规避原则的实现

网球赛事中,参赛的选手有可能是来自同一地地域同一单位。为了使相同地域或相同单位的选手尽可能在较晚的轮次中相遇,在抽签时必须要遵循规避的原则。在淘汰赛中,要依据同地域或同单位参赛者的数量将签位分成不同的区域。在手工抽签时,为了实现这些原则往往采用双盲的抽签方式或两次抽签的方式。无论是双盲抽签还是两次抽签,每一个参赛对象的抽签工作都要通过二个步骤实现,抽签过程复杂而耗时。然而,通过Excel VBA程序的判断语句,可以对每次的抽签结果进行相同签位区域内同地域或同单位判断,如有违反规避原则时,可以重新抽签。这一步骤不断重复进行,直到规避原则得以实现。由于这个过程是由计算机完成的,所以整个过程会十分快速。这一功能的实现能极大的缩短抽签的时间。

1.6、抽签方式的确定

传统的抽签方式是先将参赛者依据种子、同单位数量多少等原则进行整理、排序。然后在签表中依照签位的顺序抽取名单表格中的序号落位。抽签的顺序是:种子依据规则落如相应位置;轮空位进入种子对应位置;多余的轮空随机抽入上下半区;依次在空白签位上抽入参赛者。这种抽签方式通过双盲抽签或二次抽签的方式实现同地域或同单位规避的原则。但在使用Excel VBA编程实现自动抽签时,由于采用判断同区域是否有同地域或同单位参赛对象的方式实现规避原则,所以如果不优先让同地域或同单位数量多的参赛者入位的话,会造成规避原则无法实现。基于这种情况的考虑,在运用Excel VBA程序自动抽签时,在用传统方式完成种子和轮空的入位后,采用依据参赛名单中同单位数量从多至少的顺序抽签。而且,抽签的方式是随机抽取空白签位号,再让相应序号的参赛对象落入签位。这种方式尽管与传统手工抽签方式不同,但能有效的实现同地域或同单位规避原则,使得抽签的过程能够用计算机编程语言有效地体现出来。

1.7、随机数的产生

采用抽签的方式确定比赛的对手,最为核心的目的就是对阵双方的随机性,这也体现了网球比赛的公平性。Excel VBA中的随机函数能够产生随机数,通过与取整函数共同运用,采用公式Int(Rnd()*(B-A))+A就能产生介于A与B区间的自然数。这就完全契合了抽签时的随机性,为运用计算机程序完成抽签奠定了基础。但对计算机产生随机数的工作原理的进一步了解,本研究发现:计算机随机函数产生的随机数其实是伪随时数。具体来说,这些连续两次产生的随机数具有很高的重复率。为了解决这一问题,本研究采用了Randomize函数在产生随机数之前重置了随机种子。使用该函数后使得每次使用计算机程序抽签是均能产生与前一次不同的抽签结果,这使得计算机自动抽签的结果更具有公平性。

2、结论

2.1、网球赛事尤其是业余网球赛事的记录编排工作是一件繁琐、费时的工作,但又是一项赛事成功与否的重要决定因素。其工作过程中会使用到大量的表格,Excel强大的表格编辑功能,数据关联功能,函数运算功能能够十分高效的完成这些表格。

2.2、Excel VBA是office软件集成了Vision Basic高级编程语言的开发工具。在网球赛事的抽签,比赛顺序表的安排,比赛结果的录入和获胜方晋级中存在着大量繁琐、重复的工作。通过运用VAB编写的程序能够高效、准确的完成这些工作。

[1]《Excel2007 VBA 参考大全》,人民邮电出版社,2009年3月出版.

[2]《Excel VBA实战技巧精粹》,人民邮电出版社,2008年7月出版.

猜你喜欢
网球赛表格网球
《现代临床医学》来稿表格要求
《现代临床医学》来稿表格要求
网球究竟是什么颜色?
腰痛不用愁,网球来帮忙
统计表格的要求
网球赛
简论多球练习在普通高校网球训练中的作用
本刊表格的要求
童话里的网球公主