为了不影响公式的效果,请在专业名称后插入一列,作为学号列,在此列第6行(第一名学生行)输入如下公式,然后复制到所有行即可。
=CONCATENATE(1003,IF(C6="基础数学",20101,IF(C6="应用数学",20102,IF(C6="理论物理",30101,IF(C6="应用物理",30102,"错误")))),IF(COUNTIF(C$6:C6,C6)<10,0,),COUNTIF(C$6:C6,C6))
以上是按专业编排的学生学号,且没有考虑学生姓名升序,如要完全按学院编排学号,且考虑姓名升序情况,则按下面二步进行:
1、先排序,第一关键字为学院名称,第二关键字为姓名
2、再插入列后,输入如下公式:
=CONCATENATE(1003,IF(C6="基础数学",20101,IF(C6="应用数学",20102,IF(C6="理论物理",30101,IF(C6="应用物理",30102,"错误")))),IF(COUNTIF(B$6:B6,B6)<10,0,),COUNTIF(B$6:B6,B6))
在A3输入1003,再在学号E5输入:=$A$3&LOOKUP(D5,{"基础数学","应用数学","理论物理","应用物理"},{"20101","20102","30101","30102"})&ROW()-4
即可!
首先把工资表按照姓名升序排列,然后在E6输入公式:=IF(A6="","",IF(C6="基础数学",100320101&IF(ROW()<10,"0"&ROW(),ROW()),IF(C6="应用数学",100320102&IF(ROW()<10,"0"&ROW(),ROW()),IF(C6="理论物理",100330101&IF(ROW()<10,"0"&ROW(),ROW()),100330102&IF(ROW()<10,"0"&ROW(),ROW())))))
下拉公式就ok了。
="1003"&vlookup("C6",{基础数学,20101;应用数学;20102;理论物理,30101;应用物理,30102},2,0)&row()-6