excel给数据自动编号?

数据有3类,以附件中图为例分为层级、学校和科目,层级编号规则:相同的层级编码一致,不同的层级依次递增。学校编码规则:同一个层级下的相同学校编码一致,不同的学校依次递增,学校编码需以层级编码开头。科目编码规则:同一个学校下的科目依次递增,科目编码需以学校编码开头。

分两步进行:

1、分别在A、B、C列前插入一空白列,如图:

2、设置公式:

A2公式:

=TEXT(MID(B2,3,10),"00")

C2公式:

=TEXT(MID(D2,3,10),"00000")

E2公式:

=C2&TEXT(COUNTIF(D$2:D2,D2),"000")

以上三个公式,下拉。

追问

谢谢你的答案,不过你的这个方法是基于给的名称里面已经有对应编号,从名称中提取数据,我期望的是自行生成编码

追答

三个公式分别为:
A2公式:
=TEXT(SUMPRODUCT(1/COUNTIF(B$2:B2,B$2:B2)),"00")
C2公式:
=A2&TEXT(SUMPRODUCT((B$2:B2=B2)/COUNTIFS(B$2:B2,B$2:B2,D$2:D2,D$2:D2)),"000")
E2公式:
=C2&TEXT(SUMPRODUCT(((B$2:B2=B2)*(D$2:D2=D2))/COUNTIFS(B$2:B2,B$2:B2,D$2:D2,D$2:D2,F$2:F2,F$2:F2)),"000")
以上三个公式,下拉。

追问

还请教个问题,

同层级的相同学校未连续排列,期望编号时能连续编号,那公式应该是怎么样的?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-09-01
D2=TEXT(SUM(1/COUNTIF($A$2:A2,$A$2:A2)),"00")
数组公式,同时按CTLR SHIFT 回车键
下拉公式
E2=TEXT(COUNTIF($A$2:A2,A2),"00")
下拉公式
F2=TEXT(SUM(1/COUNTIF($A$2:A2,$A$2:A2)),"00")&TEXT(SUMPRODUCT(($A$2:A2=A2)*($B$2:B2=B2)),"000")
数组公式
同时按CTLR SHIFT 回车键
下拉公式