EXCEL 编码难题救救

编号前面要加上"PC-ZJ" 编号后面要加上数字,且数字要依据A列与C列来,不能重复,不能连续

PC-ZJ-14-PC700A-001
PC-ZJ-14-PC700A-001.1
PC-ZJ-14-PC700A-001.2 (当C列有重复名称时则出现重复几个就显示.1 .2 .3依次下去)
PC-ZJ-14-PC700A-002
PC-ZJ-14-PC700B-002
请高手解答
请高手继续

零件名称会一至,A列名称也会一至,当A列与零件名称相同时则出现小数点.1 .2 .3 数字依出现的次数递增

E2公式:

 

="PC-ZJ-"&RIGHT(B2,2)&"-"&A2&"-"&SUMPRODUCT((A$1:A1=A2)*(D$1:D1=D2))/10+SUMPRODUCT((MATCH(A$2:A2&D$2:D2,A$1:A2&D$1:D2,)=ROW(A$2:A2))*(A$2:A2=A2))

 

下拉填充

 

追问

这个是可以了,但如果相同名字中间出现一个不同名字的就会出现问题

追答

你说的名字是指名称吧,能不能选按A列排序,然后按E列排序,然后再输入公式呢?

追问

是的。这样也是可以,行我试下

追答

排序后,再用公式编号应该没问题

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-16



="PC-ZJ-"&RIGHT(B2,2)&"-"&A2&"-"&IF(1/COUNTIF($D$2:D2,$D$2:D2)=1,SUMPRODUCT(1/COUNTIF($D$2:D2,$D$2:D2)),SUMPRODUCT(1/COUNTIF($D$2:D2,$D$2:D2))+(COUNTIF($D$2:D2,D2)-1)*0.1)

追问

出了点问题 pc700a 与PC700B 的 -1 -2 不能重复的,也就是说PC700A从-1开始,那么PC700B也要从-1开始统计 -1要依照PC700A来增加 -1 -2 -3

第2个回答  2014-10-16
加两个辅助列,E和F列作为辅助列

E列公式可以写成:
=“PC-ZJ-”&right(b1,2)&"-"&a1

F列第二行公式:
=if(countifs($f1:f2,e2)=1,"","."&countifs($f1:f2,e2)-1)

G列是最终结果:
G列第一行公式:=E1
G列第一行以外公式:=E1&F1追问

F列公式输入后结果成0

本回答被网友采纳
第3个回答  2014-10-16

给你制作了一份,能基本满足你的要求。

使用表格是,一定要按照编号排序,否则不能识别是否有重复。

如果要实现编号乱序即可识别,我认为需要使用宏(vba编程),使用起来性能会降低,尤其数据多的时候。

 

我把文件发给你:(为了便于编辑,我是做了识别编号是否重复,其它的如果有需要再加)

 

相似回答