工作需要,需要收集各班的运动会报名表,并按照要求排列小运动员们的比赛顺序。
一、报名表汇总
1.报名表
学校以前的运动会表格是在word里,收集完所有班级报名表,再由人工打字一个一个输名字编排,耗时耗力。

稍作复制粘贴,更改为excel让各班填写。(电子表格要统一,否则合并错误)

收集完14个班,一共大约672个人名。

2.合并工作簿
依次点击,数据-获取数据-从文件夹

选中放14个工作簿的文件夹

3.转换数据
合并后,需要转换数据,保留有用的内容。

选中“内容列”和工作簿“名字列”,删除其它没有用的列

添加自定义列,使用公式提取内容合并,并将第一行作为标题字段
Excel.Workbook([Content],true)

展开自定义列,不使用前缀

展开后选中“数据列(Data)”和“文件名列(Name)”,删除其它没有用的内容列。

删除后展开标题字段,完成合并。

4.班级名称的提取
所有人名都必须加上班级如:XXX(2.1),如果一个一个复制粘贴工作量巨大;
先将文件名转换为班级,选中文件名列,添加自定义列;

自定义一个班级列,这里用到替换的公式;
将”文件名列”(1.1.xlsx)前三个字符“1.1”保留下来,将后面.xlsx替换掉(删除)
Text.ReplaceRange([Name],3,5,"")

替换后之前的列就没有用了,可以删除。

对班级列进行操作,添加前缀,添加后缀;
目的是给班级加个括号。



5.Excel合并两列
班级列处理完后,添加自定义列,将姓名列和班级列进行合并操作。
将刚才的替换公式改一下;
第一个参数为有姓名的列;
第二个参数,一般姓名三个字,保留前三个,两个字符默认全部保留。(我应该填4,有的姓名四个字)
第三个参数,不替换任何字符
第四个参数,需要合并的内容,直接填列名,将对应的班级自动合并到名字上。



其它的五个列:“男二、男三、女一、女二、女三”皆用这种方法完成合并。
所有列的姓名都有班级后,再将“班级”列删除。

6.关闭并上载

最后再检查一下合并后数据。可以进行筛选、查找。

二、秩序册表格编写
根据比赛时间,项目顺序的安排,完成空白表格。
更多的是直接复制粘贴完成后面的表格,注明“项目 时间 年级 性别”
特别注意表格和文字不要超过打印区域,否则后面数据换行比较麻烦。

三、填充数据
1.筛选数据
筛选出相关项目,复制对应“年级和性别”的姓名,粘贴到表格里。

这里复制十分方便,不管两个班还是三个班,直接一起复制过去。

2.单元格交换位置
为了保证公平,不同班级之间要交叉编排。
选中单元格,按住shift,鼠标左键拖动交换位置。
两个班,交换一次中间上下两个的姓名。

三个班 1 、1 、1 、
2、 2、 2、
3、 3 、 3
按住shift,鼠标左键拖动。
最少移动两步,数据的第一列第一行移动到最下面;
2,1,1
3,2,2
1,3,3

数据的第三列最后一行移动到最上面;
2,1,3
3,2,1
1,3,2
每个班这样就均匀叉开。

3.转置
垒球、跳远、跳高等项目,需要1,2,3,1,2,3....班级交叉排序;
将男一、男二...不同班级竖着依次复制;
粘贴时选择转置。


使用这几个技巧,复制粘贴编排数据更便捷。能够很快依次完成秩序册比赛的编排。