请解释为什么我为此收到 NA 错误:=MATCH(2,{1.2;1.9;2.6;3.8;5.5},-1)

Please explain why I get NA error for this: =MATCH(2,{1.2;1.9;2.6;3.8;5.5},-1)

请注意,我得到公式 =MATCH(2,{1.2;1.9;2.6;3.8;5.5},1) 的正确结果 2,因为匹配类型为 1,即查找小于 Lookup 值的最大值 (1.9)。 但是当我尝试 =MATCH(2,{1.2;1.9;2.6;3.8;5.5},-1) 时,它必须找到最小值 (2.6) 大于查找值我得到 NA 错误。答案应该是 3,因为 2.6 是 2 之后的最小值。请解释。

匹配类型必须与数组的正确排序结合使用。

匹配类型 1 --> 升序排序

匹配类型 -1 --> 降序排列

当 Match_Type 选择为 1 时,lookup_array(在您的情况下为 {1.2;1.9;2.6;3.8;5.5})必须按升序排列。

但是,当 Match_Type 选择为 -1 时,lookup_array 必须 降序

所以MATCH函数的正确使用方法是: =MATCH(2,{5.5;3.8;2.6;1.9;1.2},-1)

这将 return 如您所料“3”(它 return 数组元素的相对位置)。

请参阅文档 here

大于选项仅在数组按降序排序时才有效。试试下面

=MATCH(2,{5.5;3.8;2.6;1.9;1.2},-1)