小樱知识 > 生活常识excel数据匹配怎么操作(2个excel查找相同数据的方法)

excel数据匹配怎么操作(2个excel查找相同数据的方法)

提问时间:2022-03-16 13:23:55来源:小樱知识网


工作中我常常需要从系统中导出数据,比如说我导出了店铺销售,但是当我用Vlookup查找某一个店铺的销售时,总是显示错误值(#N/A)。很奇怪,查找与被查找的店铺名称完全一样,为什么匹配会出现错误呢?

原因其实是系统导出的数据有时会带有非打印字符或空格(肉眼不可见),导致匹配出错。比如下面的例子:

首先我们看一下单元格中的文本个数,公式计算和自己数出来相差1。这就是我们看不到的那个1。

那么我们怎么才能清除那个看不见的字符呢?

第一种方法:分列法

一直点击下一步到最终完成即可。如果不可以,那就采用第二种方法。

第二种:函数法

这里要介绍的函数是CLEAN和TRIM。

CLEAN 函数用于删除文本中 7 位 ASCII 码的前 32 个非打印字符(值为 0 到 31)。

TRIM可以除去字符串开头和末尾的空格,ASCII为32。

通常我会将两个函数一起使用,这样既可清除空格,也可清除非打印字符。当然也可以单独使用。

那么我们怎么知道文本是否含有非打印字符呢?

CODE函数可以告诉你。

CODE函数用于返回文本字符串中第一个字符的数字代码。如下所示:

CODE计算为9表示文本最前有水平制表符。因为水平制表符的ASCII码为9。CODE如果小于等于33就可以判断文本首字符为非打印字符或者空格。

做到这里我很好奇,如果非打印字符或者空格在文本中间或者尾部又怎么发现呢(当然一般不会在中间)?所以我编了一段代码。使用效果如下:

代码原理:

代码逐个单元格逐个字符查看ASCII,如果大于等于0且小于33即判断为含非打印字符或空格。

Sub asc编码()For Each rg In SelectionFor i = 1 To Len(rg)n = Mid(rg, i, 1)num = asc(n)If num < 33 And num >= 0 Thenrg.Offset(0, 1) = "含非打印字符或空格"GoTo 100End IfNext100:NextMsgBox "结束"End Sub

以上内容就是为大家推荐的excel数据匹配怎么操作(2个excel查找相同数据的方法)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:excel数据匹配怎么操作(2个excel查找相同数据的方法)

本文地址:https://www.xiaoyin02.com/shcs/119122.html

相关文章