
活跃一下气氛,送书活动继续开始。老规则,从留言区随机抽取3位粉丝,赠送书籍《Excel效率手册 早做完,不加班(函数)》。 VIP学员的问题,原始数据非常多列,为了简化,只留下核心的2列。要根据订单号、金额互相核对。左边的订单号没有绿帽子,右边的有,这就是不同的地方。 最近有几位学员都被这个问题难住了,有一个甚至为了去除绿帽子加班3个小时,最后却做了无用功,依然解决不了问题。 其实,要解决问题,只需把这个原理牢牢记在心中。超过15位纯数字,必须是用文本格式,如果不是文本格式还能正常显示的,必然含有隐藏字符。 知道了这个原理,就能很快解决问题,跟着卢子来看看。 右边的订单号带有绿帽子,证明是文本格式,没有问题,无需做任何处理。而左边的订单号没有绿帽子,证明含有隐藏字符。点开单元格,在编辑栏就能看到。
 这种隐藏字符太简单了,实际工作中很多隐藏字符是没法在Excel中看到,而要复制到记事本中才可以看到。
 既然前面含有隐藏字符,右边在查找的时候,加个星号就能解决。星号代表所有字符,也就是不管订单号前面包含什么字符,都能查找到。

=VLOOKUP("*"&E3&"*",A:B,2,0) 要先去除隐藏字符,这个没有固定的公式,正常都要进行尝试才行。下面2个在这里刚好都可以去除。
去除完就可以正常查找了。 =VLOOKUP(CLEAN(A3),E:F,2,0) 
左边的订单号比右边的多,自然有一些没有对应值,从而返回错误值#N/A,可以用IFERROR让错误值显示0。
=IFERROR(VLOOKUP(CLEAN(A3),E:F,2,0),0) 
=IFERROR(VLOOKUP(MID(A3,2,99),E:F,2,0),0) 从网页或者其他软件直接复制过来,会变成E+18,这种是无法恢复的,即使重新设置为文本格式都不行。
 正确的做法是,先将单元格设置为文本格式,再从其他地方复制过来。
 直接分列得到的依然是E+18,就不做演示。这里提供正确的做法,按分隔符号分列,将长字符的列设置为文本格式,完成。
 很多时候,长字符都不是第一列,这样就需要手工去选择,才可以。

推荐:新用法!流水跟总账核对,刚研究出来的SUMIFS函数套中套 上篇:集齐5种动态求和的方法,是目前最全的!
关于长字符串,你还遇到过什么问题? 
请把「Excel不加班」推荐给你的朋友
|