繁体   English   中英

Excel VLOOKUP 在允许近似匹配时返回#N/A,但在要求完全匹配时返回值?

[英]Excel VLOOKUP returns #N/A when allowing approximate match, but returns value when requiring exact match?

遇到一个我很好奇的非常奇怪的问题。 在 Excel 中,我正在执行 VLOOKUP 以将联系人姓名与在另一个数据库中找到的唯一 ID 进行匹配。 例如公式:=VLOOKUP(B2,Sheet2:A,B,2,TRUE)。 非常基本。 我用了近似,匹配但是,当然。 但是,某些实例仍然返回#N/A。 我用快速的 control-F 进行了仔细检查,发现许多实例返回 NA 而实际上存在(精确)匹配。 我正在排除故障并尝试了很多东西,但没有任何效果,许多检查确认单元格是相等的,没有什么像隐藏字符那样棘手。 很奇特,反正。 一时兴起,我从近似匹配更改为精确匹配,你瞧,它奏效了! VLOOKUP 正在返回正确的值。

我试图理解为什么会这样。 显然,如果您需要完全匹配但只有大约。 匹配它会返回 NA。 但是反过来就没有意义了。 当允许甚至大约时,应返回完全匹配。 火柴。 所以只是试图了解 VLOOKUP/Excel 中的幕后情况,以使这种现象发生。

欣赏任何见解!

使用近似 VLOOKUP 时,查找矩阵中的键列(始终是矩阵范围的第一列)应始终按升序排序。 原因如下:

想象一个键列,其值按给定顺序 [2,3,10,4]。 当应该大致查找键“4”时,function 将开始比较列中的可用键,从“2”开始。 '3'被传递后,'10'紧随其后,已经大于搜索到的'4'。 因此,function 停止搜索并返回前一个键行('3')的目标值作为“近似值”。

现在,给出另一个例子 [10,2,3,4]。 在这里,大约。 VLOOKUP 将在第一个键比较后立即停止搜索,因为“10”大于搜索到的“4”。 由于没有先前的键行可用,返回的值将是#N/A。 但是,精确的 VLOOKUP 会找到匹配的键,因为它不会停止搜索。

除了键顺序外,建议所有键值都采用相同的格式。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM