各种类型的考试和检测,是平时见得最多的一种训练和选拔人才的组织活动,批量编制参考人员的“准考证号”或“答题卡号”是经常遇到的问题。
比较通行和容易上手的做法是,在EXCEL表中通过增加几列辅助列,通过手工录入起始值,向下拖拽、复制、填充的方式分别生成各类数值,最后,通过连接符“&”,组合成一个新的号码。
例如,要生成一个以“2019"开头+考场号(2位数)+座位号(2位数)的准考证号,共20个考场,每个考场30个座位。如“20190101”“20190523”“”“20192030”
演示如图:
这一种方法可以解决问题,但在做辅助列数据时,往往会花去不少时间,今天,我们教大家通过一个函数公式,自动批量生成包含考场号和座位号的准考证号方法。
在EXCEL表中任一单元格,输入公式,比如B2单元格
="2019"&TEXT(ROUNDUP(ROW(A1)/30,0),"00")&IF(MOD(ROW(A1),30)<>0,TEXT(MOD(ROW(A1),30),"00"),30)
向下填充到指定考场和座位号即可。
公式理解:
这个公式由三个部分组成,第一部分是固定值“2019”,第二部分自动生成1-20的考场号,并以2位数显示,第三部分自动生成1-30的座位号,并以2位数显示。最后,通过连接符“&”连接,即可。
重点理解第二部分、第三部分公式。
第二部分自动生成1-20的考场号,并以2位数显示,公式如下:=TEXT(ROUNDUP(ROW(A1)/30,0),"00")
通过ROW函数+A1单元格,向下填充时自动生成连续数值,再除以30(假如考场人数为35人,就除以35,为40人就除以40),得到一下数值,再通过ROUNDUP函数“向上舍入”,并且设定小数位为“0”,就会得到30个“1”、30个“2”、30个“3”……,最后,通过TEXT函数把这个值规范为2位数,即可。
第三部分自动生成1-30的座位号,并以2位数显示,公式如下:
=IF(MOD(ROW(A1),30)<>0,TEXT(MOD(ROW(A1),30),"00"),30)
同样,通过ROW函数+A1单元格,向下填充时自动生成连续数值,再除以30(假如考场人数为35人,就除以35,为40人就除以40),得到一下数值,对这一数值通过MOD函数求余数,得到“1、2、3……29",当数ROW(A30)对30的余数为“0”值时,这时,用IF函数限定其值返回到“30”,这样,就完成了“1、2、3……29、30"的循环。
理解公式后,再在实际中多练习几次,遇到类似的问题就可以快速解决了,希望大家有所收获,也欢迎交流区留言,一起学习和探讨。
EXCEL技术应用 | 专注个人办公效率提升