如何按顺序自动分配数字编号?

Q在进行学生入学登记时,如何为不同的班级自动按顺序分配学号。如下图1所示,在登记学生姓名,并分配班级后,给该学生自动按顺序分配学号。

图1

动手学深度学习

作者:阿斯顿·张(Aston Zhang) 李沐(Mu Li)[美] 扎卡里·C. 立

当当

A:使用公式来解决。

因为分类是是确定的,因此可以先构建一个分类表供查询,如下图2所示。在工作表“分类”中,列A是班级名称,列B是想要的学号编号前缀。并且,将列A中的数据命名为“班级”,供设置数据有效性使用。

图2

在“编号”工作表(也就是图1所示输入数据的工作表)中,设置列B中的数据有效性如下图3所示。

图3

在单元格C2中输入公式:

=IFERROR(IF(LEN(COUNTIF($B$2:$B2,B2))=1,CONCATENATE(VLOOKUP(B2,分类!$A$2:$B$10,2,FALSE),"0",COUNTIF($B$2:$B2,B2)),COUNTIF($B$2:$B2,B2)),"")

向下拖至所需单元格即可,如下图4所示。

图4

公式中,使用COUNTIF函数来统计班级出现的次数,这也是新加入的学生的学号,并且判断编号是否为个位数,如果是则在前面加0,否则直接加上数字。这里假设学生编号不会超过两位数。

(0)

相关推荐