在excel中带字母的数据有办法通过查找功能解决吗?

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:36:08
如,我要在甲表中找到乙表中相同的值(假设是A)所对应的第3列中的一个数据,通过vlookup这个函数查找:如果A是纯粹的数据还可以,但有时也找不到。如果A是含字母的数据,那就根本就查不到。
请问各位有没有别的什么函数具备此功能,或者是使用vlookup还需要注意些什么?多谢了!
不加字母的一般都可以找到(有时也找不到,不知道是为什么,可能是半角或全角,也许是别的什么原因),但是如:2345M 或者 109.231.523这两种情况通过VLOOKUP就一定找不到了。

不知道提问者为什么“根本就查不到”?

精确匹配找不到的情况通常有几种:
1、数据格式不统一,一个是数值,一个是文本型数字。
这种情况可以根据需要将数值转化为文本,或者将文本转化为数值进行匹配
=vlookup(text(a1,"@"),甲表!a:c,3,)
=vlookup(a1*1,甲表!a:c,3,)

2、看似相同的数据实际上并不一致,例如数据后面有空格或其它不可见字符。
解决方法是用替换功能删除不必要的空格,或者嵌套substitute函数去除空格。

3、对于模糊匹配的情况,例如从第4位开始中间3位数字相同则匹配,可以使用通配符
=vlookup("*"&mid(a1,4,3)&"*",甲表!a:c,3,)

VLOOKUP(参数1,参数2,参数3,参数4)函数
一共有4分参数部分,其中最后一个参数(参数4),默认值是TRUE,你肯定是没写,你把他填上FALSE就好了。

解释:
参数4,控制对比过程是精确匹配还是近似匹配,不写的时候默认是TRUE,代表进行的是近似匹配,需要查找的列必须进行升序排列,如果对比后没有完全匹配的值则返回最近似的值,

例如VLOOKUP(A1,B:C,2)默认的就是近似查找,如果A1里是字母C,在B列找,当找到B3的时候假设格里就是F了,就是已经大于C了,那函数就不继续找了B列的气其他格了,不管B4里是不是C了,所以是参数4是TRUE的时候需要先排序。估计你没排序。

就上例而言,A1如果是数字的时候,不存在B是否排序的问题,
假设A1是5,B1、B2、B3分别是1、3、6,那还是会向下继续查找的,除非因为你没排序,A1小于第一值也就是B1,才会报错,这就是你说的偶尔数字也找不到的原因。

参数4如果是FALSE,代表进行精确匹配,对比能找到完全一样的值时,才返回对应位置的值,而且会找变整列,所以不必排序,如果没有匹配会返回#N/A

如果函数末尾加上FALSE,这样写VLOOKUP(A1,B