为什么我的匹配公式给出不一致的输出?

为什么我的匹配公式给出不一致的输出?

我使用以下公式来获取数据透视表中行中每个单独项目的最后一个值。

=HLOOKUP("Last Updated",$D$4:$D$293,MATCH(A5,$A$5:$A$293)+1)

在此使用匹配公式的目的是返回行的值。它在 221 行之前工作正常,然后在中间给出不寻常的行号,然后在最后它又开始正常工作。

我无法理解为什么匹配公式仅对几行给出错误的输出。

在此处输入图片描述

答案1

默认情况下MATCH函数假定你的数组按升序排序:

Match_type    Behavior

1 or omitted  MATCH finds the largest value that is less than or equal to lookup_value.  
              The values in the lookup_array argument must be placed in ascending order, 
              for example: ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE.

0             MATCH finds the first value that is exactly equal to lookup_value. 
              The values in the lookup_array argument can be in any order.

-1            MATCH finds the smallest value that is greater than or equal to lookup_value. 
              The values in the lookup_array argument must be placed in descending order, 
              for example: TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ..., and so on.

为了获得正确的结果使用

MATCH(A5,$A$5:$A$293,0)

答案2

您使用的 Match 没有第三个参数。这将默认为 true,这意味着 Match 将返回近似查找,如果数据未排序,则很有可能产生错误结果。

如果你不知道正确或错误或0论证1,请阅读https://teylyn.com/2015/01/15/vlookup-why-do-i-need-true-or-false/其对 Vlookup 的适用方式与对 Match 的适用方式相同。

相关内容