2011-01-21 66 views
15

我有一個表,看起來像這樣Excel的失敗在字符串VLOOKUP

B C 
43 XS 6 
44 S 11 
45 M 16 
46 L 21 
47 XL 26 
48 XXL 31 

我寫的公式:

`VLOOKUP("S",B43:C48,2)` 

它返回的21 爲什麼值?它應該返回11!

更新我在不同的表中重現了這個確切的錯誤。 VLOOKUP在搜索值爲數字時起作用,但在使用字符串時一直失敗。

回答

23

VLOOKUP做奇怪的事情,除非你指定的 「精確匹配」 與第四個參數,就像這樣:

=VLOOKUP("S",B43:C48,2,FALSE) 

從Excel的幫助文件:

VLOOKUP(Lookup_Array中,則table_array,Col_index_num爲, range_lookup)

如果range_lookup爲TRUE,則table_array第一列中的值必須按升序排列:...,-2,-1,0,1,2,...,AZ,FALSE,真正;否則VLOOKUP可能不會給出正確的值。如果range_lookup爲FALSE,則不需要對table_array進行排序。

而且也:

range_lookup是指定是否要VLOOKUP找到一個精確匹配或近似匹配的邏輯值。如果爲TRUE或省略,則返回近似匹配。換句話說,如果沒有找到完全匹配,則返回小於lookup_value的下一個最大值。如果FALSE,VLOOKUP將找到完全匹配。如果找不到,則返回錯誤值#N/A

+2

只是一個猜測原因:從一個無序列表中確定一個粗略的比賽將是infeasibly昂貴的,因爲您可能需要在列表中的許多次迭代。 – 2011-01-21 18:38:38