Vlookup匹配不上条件 公式没有问题,格式也已统一,数据也没疑问!求高手!!高手!!!高高手!!!

Vlookup匹配不上条件
公式没有问题,格式也已统一,数据也没疑问!求高手!!高手!!!高高手!!!

Excel中的确存在这种问题,而且很不好找问题,你运气好,我前一段刚刚遇到这种情况,也是到处找不到原因,后来根据一些特殊字符的资料和测试解决了,但是不知道是不是你遇到的情况和我相同,我可以将我遇到的几种情况和解决方法告诉你。

声明:以下内容出现并验证于微软发布的Microsoft Office Excel2007中,WPS的Excel及其他版本的Microsoft Office Excel是否存在此问题未知。

一、无论全角半角、常规格式还是文本,Excel有时候会视-与/为相同符号,通过Ctrl+F搜索和VLOOKUP等可以正常互相搜索到,但引用不到对应值。例如(下例中首行的A、B是列标,行首的1、2是行标,后例相同):
==========sheet1==========
A B
1 型号 价格
2 8863/4 220.00
==========sheet1==========
==========sheet2==========
A B C
1 型号 引用价格 sheet1中是否存在型号
2 8863-4 =VLOOKUP(sheet2!A2,sheet1!$A:$A,2,FALSE) =COUNTIF(sheet1!$A:$A,sheet2!A2)
显示结果: 8863-4 #N/A 1
==========sheet2==========
结果说明:在sheet2中,“sheet1中是否存在型号”一栏显示值为1,即能找到对应型号,但在“引用价格”一栏会显示#N/A,即引用不到sheet1中的价格。在同一个sheet中有可能不会出现这种情况。

二、无论全角半角、常规格式还是文本,在数字混合-或/的情况下,符合“4位数字-数字1至12”格式或“4位数字/数字1至12”格式时,则会被自动识别并改变为日期格式,-前的4位数字识别为年,-后的数字识别为月,且自动加上-1(在日期中表示当月1号),显示的格式是哪一种日期格式,根据Windows日期系统的设置不同而不同。常规格式下回车后改变立刻生效,文本格式下输入并回车后不变,但使用Ctrl+F替换时,以/替换-,或以-替换/,才会造成改变,例如:
常规格式下:
输入7856-3并回车:显示变为Mar-56,即7856年3月1日,而点击单元格看值变为7856-3-1
输入7856/3并回车:显示变为Mar-56,即7856年3月1日,而点击单元格看值变为7856-3-1
输入7856-11并回车:显示变为Nov-56,即7856年11月1日,而点击单元格看值变为7856-11-1
输入7856/11并回车:显示变为Nov-56,即7856年11月1日,而点击单元格看值变为7856-11-1
文本格式下:
输入7856-3并回车:显示为7856-3,直接在单元格中修改为7856/3,显示为7856/3;但若用Ctrl+F将-替换为/,则显示变为Mar-56,即7856年3月1日,而点击单元格看值变为7856-3-1。
输入7856/3并回车:显示为7856/3,直接在单元格中修改为7856-3,显示为7856-3;但若用Ctrl+F将/替换为-,则显示变为Mar-56,即7856年3月1日,而点击单元格看值变为7856-3-1
输入7856-11并回车:显示为7856-11,直接在单元格中修改为7856/311,显示为7856/11;但若用Ctrl+F将-替换为/,则显示变为Nov-56,即7856年11月1日,而点击单元格看值变为7856-11-1
输入7856/11并回车:显示为7856/11,直接在单元格中修改为7856-311,显示为7856-11;但若用Ctrl+F将/替换为-,则显示变为Nov-56,即7856年11月1日,而点击单元格看值变为7856-11-1

三、英文半角单引号(')的特殊作用。
在单元格中输入内容之前先打一个英文半角单引号('),后面无论什么内容都会被视为文本型,可以避免第二点出现的文本变日期的情况,也可以纠正第一点出现的统计和引用不匹配的问题,但用Ctrl+F搜索带英文半角单引号(')的内容无法搜索到,但搜索英文半角单引号(')后面的内容可以搜索到,与不带英文半角单引号(')的内容同样列为搜索结果。例如:
1、纠正第一点中引用不到值的例子:
==========sheet1==========
A B
1 型号 价格
2 '8863/4 220.00
==========sheet1==========
==========sheet2==========
A B C
1 型号 引用价格 sheet1中是否存在型号
2 '8863-4 =VLOOKUP(sheet2!A2,sheet1!$A:$A,2,FALSE) =COUNTIF(sheet1!$A:$A,sheet2!A2)
显示结果: 8863-4 #N/A 0
==========sheet2==========
备注:填写单元格内容的时候,前面加一个英文半角单引号('),单元格所显示的值则不带英文半角单引号('),如此例中sheet1的A2单元格依旧显示为8863/4,但是选择A2单元格时,在公式栏中显示的值为'8863/4;
此例结果为:在sheet2中,“sheet1中是否存在型号”一栏显示值为0,即找不到对应型号,在“引用价格”一栏会显示#N/A,即引用不到sheet1中的价格。
若sheet2中的型号前没有不带英文半角单引号('),则结果与第一点结果相同,能找到1个值,但是无法引用到价格。
若用Ctrl+F在sheet1中搜索:'8863/4或'会查找不到,搜索:8863/4则能找到。
2、纠正第二点中文本自动变为日期的例子:
7856-3改为:'7856-3
7856-11改为:'7856-11
3、综合以上内容,若想在不同sheet之间正确查找带有“4位数字-数字1至12”格式或“4位数字/数字1至12”格式的单元格,并能正确引用该行内容,则需要在该单元格的内容第1位前添加一个英文半角单引号(')。例如:
==========sheet1==========
A B
1 型号 价格
2 '8863-4 220.00
==========sheet1==========
==========sheet2==========
A B C
1 型号 引用价格 sheet1中是否存在型号
2 '8863-4 =VLOOKUP(sheet2!A2,sheet1!$A:$A,2,FALSE) =COUNTIF(sheet1!$A:$A,sheet2!A2)
显示结果: 8863-4 220.00 1
==========sheet2==========
以上内容中的'8863-4改为'8863/4,运算及引用结果也相同。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-21
把你的公式贴出来
相似回答