批量替换,你会吗?
问题
问:当分段号发生批量变更时,如何将对应的图纸号,批量替换过来!,如下图所示:A列为原来的图纸号,G\H列为新旧分段号对照表,如何将A列中的分段号对应替换成新的分段号
这是我部门同事问我的一个问题,之前,他一直采用手动逐个查找替换的方式,并且已经手完成了相当一部分了!
解答
答:其实,这个问题也不难,先缕一下思路
1、 在图纸代码中找到旧的分段号码
2、 查找旧代码对应的新的分段号
3、 把新旧代码替换
这个就像把大象关进冰箱分几步一样
1、 打开冰箱门
2、 把大象放进去
3、 关上冰箱门
01
我们先看第一步:在图纸代码中找到旧的分段号码
观测:首先要找到规律,这是写一切公式的前提,此题中,分段号码从第12个字符开始,分段号有3位,有4位,字符数量不固定,但是后面都有一个“-”,因此我们可以采用MID函数和FIND函数结合,用FIND函数找到第三个“-”字符的位置,减去12,就是分段号码的长度,公式如下:
B2 =MID(A2,12,FIND('-',A2,12)-12)
公式的具体参数,可参照下图:
02
第二步:查找旧代码对应的新的分段号
这一步,就是大家常用的VLOOKUP函数
C2 =VLOOKUP(B2,$G$1:$H$20,2,0)
03
第三步:把新旧代码替换
这里用到SUBSTITUTE函数
D2=SUBSTITUTE(A2,B2,C2)
04
上面为了大家更好的理解,采用了分步加辅助列的方法,其实,只要你理解公式的内涵和原理,完全可以一步到位
E2=SUBSTITUTE(A2,MID(A2,12,FIND('-',A2,12)-12),VLOOKUP(MID(A2,12,FIND('-',A2,12)-12),$G$1:$H$20,2,0))
从上面的公式中可以看到,公式是层层嵌套的,一环扣一环,一个函数的返回值就是另一个函数的参数,但一定要注意函数的边界问题即括号的位置要正确,另外标点符号都应该是英文半角字符,否则公式就会出错!
总结
常用的字符处理函数,要有所储备,方能“招之即来,来之能战,战则必胜!”
MID
LEFT
RIGHT
FIND
SUBSTITUTE
REPLACE
LEN
LENB
UPPER
LOWER
PROPER