分享

因数字带绿帽子的问题,对账3个小时都搞不定,惨。。。

 Excel不加班 2022-05-13

与 30万 粉丝一起学Excel

活跃一下气氛,送书活动继续开始。老规则,从留言区随机抽取3位粉丝,赠送书籍《Excel效率手册 早做完,不加班(函数)》。


VIP学员的问题,原始数据非常多列,为了简化,只留下核心的2列。要根据订单号、金额互相核对。左边的订单号没有绿帽子,右边的有,这就是不同的地方。


最近有几位学员都被这个问题难住了,有一个甚至为了去除绿帽子加班3个小时,最后却做了无用功,依然解决不了问题。

其实,要解决问题,只需把这个原理牢牢记在心中。超过15位纯数字,必须是用文本格式,如果不是文本格式还能正常显示的,必然含有隐藏字符。

知道了这个原理,就能很快解决问题,跟着卢子来看看。

右边的订单号带有绿帽子,证明是文本格式,没有问题,无需做任何处理。而左边的订单号没有绿帽子,证明含有隐藏字符。点开单元格,在编辑栏就能看到。


这种隐藏字符太简单了,实际工作中很多隐藏字符是没法在Excel中看到,而要复制到记事本中才可以看到。


既然前面含有隐藏字符,右边在查找的时候,加个星号就能解决。星号代表所有字符,也就是不管订单号前面包含什么字符,都能查找到。
=VLOOKUP("*"&E3,A:B,2,0)



如果隐藏字符不确定前后,可以前后都加星号。
=VLOOKUP("*"&E3&"*",A:B,2,0)
现在来看左边如何查找右边。

要先去除隐藏字符,这个没有固定的公式,正常都要进行尝试才行。下面2个在这里刚好都可以去除。
=CLEAN(A3)
=MID(A3,2,99)

去除完就可以正常查找了。

=VLOOKUP(CLEAN(A3),E:F,2,0)



左边的订单号比右边的多,自然有一些没有对应值,从而返回错误值#N/A,可以用IFERROR让错误值显示0。
=IFERROR(VLOOKUP(CLEAN(A3),E:F,2,0),0)



同理,将CLEAN换成MID也可以。
=IFERROR(VLOOKUP(MID(A3,2,99),E:F,2,0),0)
再补充点长字符串的知识。

1.复制粘贴长字符串

从网页或者其他软件直接复制过来,会变成E+18,这种是无法恢复的,即使重新设置为文本格式都不行。


正确的做法是,先将单元格设置为文本格式,再从其他地方复制过来。


2.分列得到长字符串

直接分列得到的依然是E+18,就不做演示。这里提供正确的做法,按分隔符号分列,将长字符的列设置为文本格式,完成。


很多时候,长字符都不是第一列,这样就需要手工去选择,才可以。


推荐:新用法!流水跟总账核对,刚研究出来的SUMIFS函数套中套

上篇:集齐5种动态求和的方法,是目前最全的!


关于长字符串,你还遇到过什么问题?

请把「Excel不加班」推荐给你的朋友

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多