Excel使用重复键在稀疏范围内匹配Bug
TheRange中的数据是{1,“”,1,“”,1,“”,1,“”,2}
= Match(2,TheRange,1)按预期返回9
=匹配(1.5,TheRange,1)按预期返回7
= Match(1,TheRange,1)返回5,这不是预期的
任何人都会遇到这个? 任何人得到解决?
另外,如果我在VBA中使用Worksheet.Function.Match,我会得到更多意想不到的结果。
如果您为“match_type”参数(MATCH的第三个参数)指定1,则Excel会预期将该数组进行sorting。 显然,Excel会对值进行二进制search – 从中间开始search1,然后find中间值(这是您的案例中的第5个值)。
如果你为“match_type”指定了0,你将会得到你所期望的 – 至less在这种情况下。 有关更多信息,请参阅MATCHfunction的文档。
解决这个问题的一个办法就是把空白变成错误。
试试这些公式:
=MATCH(1/(2),1/$A$1:$A$9,-1) =MATCH(1/(1.5),1/$A$1:$A$9,-1) =MATCH(1/(1),1/$A$1:$A$9,-1)
这些是数组公式,所以当你input它们时,你必须用“ctrl + shift + enter”来确认,而不是“enter”。