尽管存在匹配,Vlookup返回N / A.

时间:2016-05-25 12:49:49

标签: excel vlookup

我有两个表,table2VLOOKUP。我执行table2函数以填充从table1table2的3列。

出于某种原因,该公式不适用于第一行,并且即使它存在,也找不到General的完全匹配。

我确保两列(用于比较)具有相同的格式(table1)并且没有额外的间距。同样的条件也适用于其他记录,并且它在那里正常工作。

table1 - 您可以看到第一行缺少的匹配项。 table1

table2 - 您可以看到匹配确实存在,但未在VLOOKUP中反映出来。 table2

为{{1}}找不到特定记录的匹配项还有其他原因吗?

5 个答案:

答案 0 :(得分:1)

尝试直接评估您认为相等的两个单元格的相等性,例如,如果A2是您正在查找的值,则Sheet2!A100是您认为应匹配的值,请在单元格中尝试此操作:

=(A2=Sheet2!A100)

如果返回false,则表示vlookup中存在格式化问题或错误。

同时尝试使用“公式/评估公式”功能区命令逐步执行vlookup,以防突出显示错误。

答案 1 :(得分:1)

好的 - 这是一个用例的问题。对于“显然”相等的值,VLOOKUPINDEX-MATCH正在返回 #N / A 。用=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))清除我的数据,但这不起作用。

然后,我比较了两个看起来像匹配值的单元格,并且评估为FALSE(A1=B1导致 FALSE )。

然后,作为最后的手段,我编码检查了两个单元格中每个字符的每个ASCII值,我发现一个单元格中的“ - ”与另一个单元格中的“ - ”不同。第一个单元格的ASCII值为63,第二个单元格的ASCII值为45,看起来是相同的“ - ”。事实证明,63是一个“短划线”,45是你的标准短划线或减号。

评估字符串中每个字符的ASCII代码的方法是在使用LEN函数测试单元格长度后,将CODE函数与MID或RIGHT函数结合起来。

示例:

LEN(A1)应该等于LEN(B1)

对于每个单元格中的第一个字符:

CODE(A1)代码默认为左侧的第一个字符
CODE(MID(A1,2,1)为第二个字符生成ASCII CODE(MID(A1,3,1)为第二个字符生成ASCII 等等

如果你有很多字符,你可以在CODE-MID函数旁边发布一个整数序列,并将position参数指向相关的整数,只需向下或向下复制

或者

您可以查找奇怪的非数字字符,只测试两个单元格。

答案 2 :(得分:0)

这是我遇到的一个问题:如果直接在公式F54中输入要查找的值(1.016),我的VLOOKUP公式将返回正确的值(1)。

但是,如果我在列A中引用了一个值作为要查询的值,则该公式将返回#N/A,如单元格F55所示。

(我实际上是在尝试VLOOKUP当前行的A值加上0.015,即VLOOKUP(A54+0.015, $A$3:$B$203, 2, FALSE)

但是,如果我使用ROUND函数,那么VLOOKUP公式将起作用,如F56所示。

Excel VLOOKUP issue

答案 3 :(得分:0)

观察过这样的情况,直接比较失败(例如公式 =A1=B1 导致 FALSE)但长度为 =LEN(A1)=LEN(B1) 和逐个字母的 ASCI 比较(=CODE(A1,1,1),{ {1}}、=CODE(A1,2,1) 等)显示没有区别。

有效的是调整 VLOOKUP 中查找值的格式。

例如 =CODE(A1,3,1) -> =VLOOKUP(A1, ARRAY, COL_NUM, FALSE)

答案 4 :(得分:0)

我最近遇到了同样的问题,通过将 vlookup 公式更改为 =VLOOKUP([要查找的值], [查找表], [要在查找表中返回的列], )。将最后一个输入参数设置为“false”会强制 Excel vlookup 函数执行精确匹配。