【问题标题】:Vlookup returning incorrect valuesVlookup 返回不正确的值
【发布时间】:2018-10-01 14:41:56
【问题描述】:

我有这个公式 =VLOOKUP(D86,'Project Scoring'!D:O, 12, TRUE)。出于某种原因,它会返回不正确的值,但并非总是如此。

我想知道是否有更好的方法来使用索引/匹配来做到这一点?附上截图帮助。Change LogProject Scoring

【问题讨论】:

    标签: excel excel-formula excel-indirect excel-match


    【解决方案1】:

    TRUE 将给出 近似 匹配 - 听起来您想要一个 精确 匹配,这意味着将 FALSE 作为最后一个参数传递。

    如果您确实打算使用近似匹配,那么您需要确保您的数据以正确的方式排序以使近似匹配起作用。


    编辑:查看您的数据,您在与查找数据有关的单个单元格中有多个值。 VLOOKUP 并非设计用于此目的。您最好在匹配语句中使用 INDEX/MATCH 并使用通配符 (*)。同样,这也有可能返回误报。

    这里的根本问题不一定在于您的“选择武器”,而是您的数据设计方式不适合通过公式轻松处理,因为您在技术上具有“一对多”关系细胞之间。在这种情况下,数据透视表或“适当的”表可能是您考虑的更好设计。

    【讨论】:

    • 这就是我想出的 INDEX/MATCH:=INDEX('Project Scoring'!O6:O1146, MATCH(D4,'Project Scoring'!O6:O1146,- 1))。绝对似乎我仍然得到一些误报。你能解释一下在这种情况下我将如何使用通配符吗?
    • =INDEX('Project Scoring'!$O5:$O1145, MATCH(D3&"*",'Project Scoring'!D5:D1145,1)) 我认为这解决了它
    • 是的,这就是我使用通配符的意思。根据您的数据,您可能仍然会发现一些误报,但我显然对您的数据集不够了解。无论如何,希望这能让你得到排序:)
    • 是的,我好像误报了。您是否认为还有其他方法可以完成我正在尝试做的事情,或者如果我在一个单元格中有多个值,总是会出现返回误报的问题?
    • 只要您的数据采用这种格式,您就会一直遇到这个问题。最好的办法是将数据重组为数据透视表或类似数据。
    猜你喜欢
    • 1970-01-01
    • 2016-10-09
    • 2021-10-26
    • 2015-10-13
    • 2014-12-06
    • 2021-02-01
    • 2017-08-21
    • 2021-10-27
    • 2021-02-10
    相关资源
    最近更新 更多