Excel-奇怪的匹配行为?

Excel-奇怪的匹配行为?,excel,excel-formula,Excel,Excel Formula,根据我的经验,MATCH在第三个参数为0时表现良好(即寻找精确匹配),但在第三个参数中使用1时会产生奇怪的结果 根据,当第三个参数为1(或省略)时: 匹配查找小于或等于的最大值 查找\u值。必须放置lookup_数组中的值 以升序排列,例如:…-2,-1,0,1,2,…,A-Z,FALSE, 对 但是看看下面的例子。单元格A19中的公式被拖到I19。我希望它们要么全部返回1,要么返回上述数组中最后一个TRUE单元格的索引(例如17,然后15,然后13,等等),但两者都不是 有人能解释这些奇怪的结

根据我的经验,
MATCH
在第三个参数为
0
时表现良好(即寻找精确匹配),但在第三个参数中使用
1
时会产生奇怪的结果

根据,当第三个参数为
1
(或省略)时:

匹配查找小于或等于的最大值 查找\u值。必须放置lookup_数组中的值 以升序排列,例如:…-2,-1,0,1,2,…,A-Z,FALSE, 对

但是看看下面的例子。单元格
A19
中的公式被拖到
I19
。我希望它们要么全部返回
1
,要么返回上述数组中最后一个
TRUE
单元格的索引(例如
17
,然后
15
,然后
13
,等等),但两者都不是

有人能解释这些奇怪的结果吗


从技术上讲,您的查找数组不是按升序排列的,它相当于交替使用1和0。@BigBen Fair point。我想答案仅仅是,如果数组没有排序,这是“未定义的行为”。我想用于查找匹配项的算法
MATCH
也不是从查找数组的末尾开始的-这不是最有效的,尤其是在数组排序的情况下。再看看,它可能使用了二进制搜索-这似乎可以解释9,9,9,9,5,5,3,1。互联网络似乎是一致的——例如@BigBen-Aha!这就解释了。谢谢