2015-06-10 104 views

回答

2

microsoft's support page此,它指出:

如果lookup_value小于第一行或列中的最小值的情况下(取决于阵列的尺寸),LOOKUP返回#N/A错误值。

而且最重要的是:

重要的价值在数组必须按升序排列。例如,-2,-1,0,1,2或A-Z或FALSE,TRUE。如果你不这样做,LOOKUP可能不会给出正确的值。大写和小写文本是等效的。

你的第一行是:(10,7)和5比10小,所以它返回#N/A

如果你把你的价值观升序排列,它应该工作。

+0

感谢,并为这种情况:= LOOKUP(“低”,{“临界”,7;“高”,14;“中等”,28;“低”,42} )为什么它返回14但不是42? –

+0

@Chris。对不起,当我尝试复制/粘贴第二部分(我跟踪了一边,所以直到现在都没有注意到)时,有什么搞砸了。你需要对你的lookkup值进行排序(在这两种情况下 - 也需要对字符串进行排序)。 – Gerrat

+0

@克里斯:当排序:'= LOOKUP( “低”,{ “关键”,7; “高”,14; “低”,42; “中等”,28})',它返回42. – Gerrat

1

我的问题是“你为什么要使用LOOKUP?” - 如果你希望一个exact match然后LOOKUP是不是最好的功能,VLOOKUP会更好,即

=VLOOKUP(5,{10,7;9,14;8,14;7,14;6,28;5,28;4,28;3,42;2,42;1,42},2,0)

,将返回28,如果你查找值更改为任何列出的值在查找它的范围将仍然工作

如果查找值更改为一个值是不在列表中,如5.511您将收到#N/A错误