如何解决存在值时,Excel VLOOKUP返回#N / A
我正在为学校体育赛事创建一个电子表格,据此,积分将根据时间/距离/身高等来确定。由每个学生实现。参考数据表表示每个事件可用的点,但不包括每个值-即与值范围相关的点。例如:x点的奖励是1.00m至1.04m之间的距离; y点的距离介于1.05和1.09之间;等等。范围不一致。用户将输入确切的时间/距离/高度/等。每个学生进入电子表格,公式就会自动计算分数。
我正在使用嵌套的IF(COUNTIF(VLOOKUP
公式来进行以下操作:
-
在参考数据表中搜索输入的值(例如2.18),如果存在,则返回点值。如果不存在...
-
…将值减小0.01(即2.17),然后重试,如果存在则返回点值。如果不存在...
-
…将值减小0.02(即2.16),然后重试,如果存在则返回点值。如果不存在...
-
...将该值减小0.03(即2.15),然后重试...
-
...等等直到返回值。最大范围是0.05,所以不超过5个周期。
= IF(COUNTIF(Distance,D4),VLOOKUP(D4,$ A $ 4:$ B $ 13,2,FALSE),IF(COUNTIF(Distance,D4-0.01),VLOOKUP(D4-0.01,$ A $ 4) :$ B $ 13,2,FALSE),IF(COUNTIF(Distance,D4-0.02),VLOOKUP(D4-0.02,$ A $ 4:$ B $ 13,2,FALSE),IF(COUNTIF(Distance,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值仍是随机返回的。
链接到下面的数据图像。
关于发生了什么,或者是否有更雄辩的公式有任何想法吗?
解决方法
您可以使用index
,Match
和VLookup
来做到这一点。下面是我使用的代码,该代码查找最接近的值并在第二行中找到匹配项。 (您可能需要更改表名和列表名。
=INDEX(Table_Points,MATCH(VLOOKUP(B2,Table_Points,List_Points,TRUE),0),2)
编辑(只要您将查找表更改为以最小的数字和最上面的点递增,则此代码应适用于您确切的工作簿示例):
=INDEX($A$4:$B$13,MATCH(VLOOKUP(D4,$A$4:$B$13,1),$A$4:$A$13),2)
其中Table_Points是整个表格(距离和点),而List_Points只是距离列表。
让我知道是否需要更多说明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。