首页 > 解决方案 > 存在值时,Excel VLOOKUP 返回 #N/A

问题描述

我正在为学校体育赛事创建一个电子表格,根据时间/距离/高度/等来奖励积分。由每个学生完成。参考数据表表示每个事件的可用点,但不包括每个值——即点与一系列值相关。例如:在 1.00m 和 1.04m 之间的距离获得 x 分;y 点表示 1.05 和 1.09 之间的距离;等范围不一致。用户将输入准确的时间/距离/高度/等。为每个学生输入电子表格和一个公式应该自动计算分数。

我正在使用嵌套IF(COUNTIF(VLOOKUP公式:

  1. 在参考数据表中搜索输入的值(例如 2.18),如果存在,则返回点值。如果不存在……</p>

  2. …将值减少 0.01(即 2.17)并重试,如果存在则返回点值。如果不存在……</p>

  3. …将值减少 0.02(即 2.16)并重试,如果存在则返回点值。如果不存在……</p>

  4. ...将值减少 0.03(即 2.15)并重试...</p>

  5. …ETC。直到返回一个值。最大范围为 0.05,因此不超过 5 个周期。

    =IF(COUNTIF(距离,D4),VLOOKUP(D4,$A$4:$B$13,2,FALSE),IF(COUNTIF(距离,D4-0.01),VLOOKUP(D4-0.01,$A$4:$B $13,2,FALSE),IF(COUNTIF(距离,D4-0.02),VLOOKUP(D4-0.02,$A$4:$B$13,2,FALSE),IF(COUNTIF(距离,D4-0.03),VLOOKUP( D4-0.03,$A$4:$B$13,2,FALSE),VLOOKUP(D4-0.04,$A$4:$B$13,2,FALSE)))))

该公式似乎有效,但是在测试时,尽管存在匹配项,但仍有许多值返回 #N/A。返回 #N/A 的那些似乎没有模式。使用公式评估和错误检查无助于提供答案。我已经尝试了所有常用的技巧——确保格式(文本/数字/一般)是一致的;检查空格,验证公式中的值与 VLOOKUP 表中的值完全一致——一切正常且正确,但仍随机返回 #N/A 值。链接到下面的数据图像。
关于发生了什么的任何想法,或者是否有更雄辩的公式?

样本数据

标签: excelexcel-formulavlookup

解决方案


您可以通过使用 、 和 来做到indexMatch一点VLookup。下面是我使用的代码,它查找最接近的值并在第二行中找到匹配项。(您可能需要更改表名和列表名。

=INDEX(Table_Points,MATCH(VLOOKUP(B2,Table_Points,List_Points,TRUE),List_Points,0),2)

编辑(只要您将查找表更改为以最小的数字和顶部的点升序,此代码就应该适用于您的确切工作簿示例):

=INDEX($A$4:$B$13,MATCH(VLOOKUP(D4,$A$4:$B$13,1),$A$4:$A$13),2)

其中 Table_Points 是整个表格(距离和点),而 List_Points 只是距离列表。

在此处输入图像描述

如果您需要更多说明,请告诉我。


推荐阅读