【问题标题】:Please explain why I get NA error for this: =MATCH(2,{1.2;1.9;2.6;3.8;5.5},-1)请解释为什么我得到 NA 错误:=MATCH(2,{1.2;1.9;2.6;3.8;5.5},-1)
【发布时间】:2020-08-11 06:24:11
【问题描述】:
请注意,我得到了公式 =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 之后的最小值。请解释一下。
【问题讨论】:
标签:
excel
excel-formula
excel-2010
excel-2007
【解决方案1】:
匹配类型必须与数组的正确排序结合使用。
Matchttype 1 --> 升序排序
Matchttype -1 --> 降序排列
【解决方案2】:
当 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)
这将如您所愿返回“3”(它返回数组元素的相对位置)。
请参阅文档here。
【解决方案3】:
仅当数组按降序排序时,大于选项才有效。试试下面
=MATCH(2,{5.5;3.8;2.6;1.9;1.2},-1)