Q:在进行学生入学登记时,如何为不同的班级自动按顺序分配学号。如下所示,在登记学生姓名,并分配班级后,给该学生自动按顺序分配学号。
Q:在进行学生入学登记时,如何为不同的班级自动按顺序分配学号。如下所示,在登记学生姓名,并分配班级后,给该学生自动按顺序分配学号。
A:使用公式来解决。
因为分类是是确定的,因此可以先构建一个分类表供查询,如下所示。在工作表“分类”中,列A是班级名称,列B是想要的学号编号前缀。并且,将列A中的数据命名为“班级”,供设置数据有效性使用。
在“编号”工作表(也就是所示输入数据的工作表)中,设置列B中的数据有效性如下所示。
在单元格C2中输入公式:
=IFERROR(IF(LEN(COUNTIF($B$2:$B2,B2))=1,CONCATENATE(VLOOKUP(B2,分类!$A$2:$B$1 ,2,FALSE),” “,COUNTIF($B$2:$B2,B2)),COUNTIF($B$2:$B2,B2)),””)
向下拖至所需单元格即可,如下所示。
公式中,使用COUNTIF函数来统计班级出现的次数,这也是新加入的学生的学号,并且判断编号是否为个位数,如果是则在前面加,否则直接加上数字。这里假设学生编号不会超过两位数。