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!这就解释了。谢谢