【问题标题】:Excel VLOOKUP returning #N/A when values are present存在值时,Excel VLOOKUP 返回 #N/A
【发布时间】:2020-12-16 13:03:12
【问题描述】:

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

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

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

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

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

  4. ...将值减少 0.03(即 2.15)并重试...

  5. …等等。直到返回一个值。最大范围为 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 值。 链接到下面的数据图像。
关于发生了什么的任何想法,或者是否有更雄辩的公式?

Sample data

【问题讨论】:

  • 您可能遇到的一个问题是,要使 VLookup 工作,您正在搜索的表必须按升序排列。

标签: excel excel-formula vlookup


【解决方案1】:

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

=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 只是距离列表。

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

【讨论】:

  • 谢谢 - 这很好用而且更优雅。仍然好奇之前的问题是什么 - 为什么返回 #N/A。
  • 我正在看它,但在测试后也无法弄清楚。如果您认为这个答案很好,那么可以通过投票向其他人发出信号,这很有帮助。很高兴我能帮上忙!
  • 我试过了,但作为一个新用户,它说我的点赞还没有显示出来。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多