2015-06-10 136 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錯誤