1、库房报上来的零件号列表画风是这样的
2、而大众康采恩标准的零件号格式是这样的(见附图)其中还有一些特殊要求①零件号中没有i,o②所有的字母均为大写③零件号最短为9位,最长为14位
3、我们来看一下最终实现的效果,只需要将写好的公式复制进去即可大家不要被公式的内容吓到了,虽然公式很长,但其实逻辑上并不复杂,下面我们就来一步一步的看看公式是如何完成的。(注:公式都是以第二行单元格为例)
4、清除零件号中非法空格手动录入的零件号容易出现非法空格,所以我们要先将零件号中的非法空格去掉。这里我们可以用substitute函数将空格替换掉公式:SUBSTITUTE(A2," ","")
5、将零件号中小写字母转大写根据大众的要求,零件号中所有字母均为大写,所以我们要将零件号中的小写字母替换成大写的。这里我们可以用upper函数将小写字母替换成大写的公式:UPPER(B2)
6、将零件号中的“IO”替换成“10”根据大众的要求,零件号中不能存在I和O这两个字母(为了区分1和0),如果出现了要将他们替换成1和0.这里我们依然可以用substitute函数将I和O替换掉公式:SUBSTITUTE(SUBSTITUTE(C2,"I","1"),"O","0")
7、判断是否为标准件我们之前提到过,标准号是以N_ _开头的,我们在这里要区分一下该零件号是不是标准的,如果是的话,要把它变成“N_ _”格式的这里我们来用if函数判断一下左边第一个字母是不是N,如果是的话,就把它变成“N_ _”,如果不是就不变。公式:IF(LEFT(D2,1)="N",REPLACE(D2,1,1,"N "),D2)
8、分隔零件号接下来,我们要按照前面的大众零件号标准格式来将零件号分成4部分1.车型代码车型代码就是零件号的前三位我们可以用mid函数来截取出零件号的前三位公式:MID(E2,1,3)
9、前中间号前中间号就是零件号的第四位到第六位我们依然可以用mid函数来截取出零件号的第四位到第六位公式:MID(E2,4,3)
10、后中间号后中间号就是零件号的第七位到第九位我们依然可以用mid函数来截取出零件号的第七位到第九位公式:MID(E2,7,3)
11、改进码与颜色码改进码与颜色码这里稍微复杂一些,需要根据零件号的长度来区分一下如果零件号的长度是9,说明该零件号没有改进码与颜色码,就返回一个空如果零件号的长度是10/11,说明该零件号有1/2位改进码而没有颜色码如果零件号的长度是12,说明该零件号有3位颜色码而没有改进码如果零件号的长度是13/14,说明该零件号有3位颜色码且有1/2位改进码如果长度大于14或者小于9,表示该零件号不符合标准公式:IF(LEN(E2)=9," ",IF(LEN(E2)=10," "&MID(E2,10,1),IF(LEN(E2)=11,""&MID(E2,10,2),IF(LEN(E2)=12,""&MID(E2,10,3),IF(LEN(E2)=13,""&MID(E2,10,1)&""&MID(E2,11,3),IF(LEN(E2)=14," "&MID(E2,10,2)&" "&MID(E2,12,3),"未知"))))))
12、生成标准零件号我们将拆解完的零件号重新合在一起,就是我们想要的标准零件号了(注意每一项只见要用空格分开);如果是不符合标准的零件号,我们就返回太长/太短公式:IF(LEN(E2)>14,"太长",IF(LEN(E2)<9,"太短",F2&" "&G2&""&H2&I2))
13、合并公式我们的公式已经写好了,只是如果日后每次用的时候都像现在这样一步一步的套公式未免有些麻烦,我们可以将上面的公式合并为一个大公式。我们可以用逐层嵌套的方式来合并公式。例如:C2中的公式为“=UPPER(B2)”,我们将“B2”替换为B2单元格中的内容,就将B2与C2合到了一起,以此类推,最后合成一个大公式。最后合并完成后我们只保留最重要的3列