2017-05-23 69 views
1

vlookup函數似乎已損壞。它爲所有查找返回相同的值,但它不應該。Excel VLOOKUP在所有行中返回相同的值

我有它設置像這樣:

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1) 

在哪裏查找值是在B柱,結果是在A列中。

我使用$,所以行不會自動更新到A3:B674等,因爲我粘貼公式的行。但是,即使我手動將該公式輸入到下一行,也找不到正確的值。

如果我刪除「$」,找到值落在修改範圍內的第一行的正確值(例如Asset_Mapping!A3:B674),但最終如預期的那樣停止查找值,因爲範圍是無效。

我在這裏做錯了什麼?我有公式設置爲自動計算。

+1

將false參數添加到您的公式中。這將返回完全匹配,而不是第一次部分匹配它到達 –

+1

'= VLOOKUP(A3,Asset_Mapping!A $ 2:B $ 673,2,FALSE)'工作嗎? – Jeeped

+0

是的,這是FALSE參數。感謝大家! – Alexx

回答

3

未經您的實際數據測試,很難確認此操作是否正常,但添加了假參數。這將找到完全匹配,而不是第一次部分匹配。

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1, false) 

逐點一起和澄清式

參數1:你正在尋找

參數2的值:表與數據。第一列是您正在查找的值。

參數3:要顯示的值的列號。

參數4:如果您想要完全匹配或部分匹配。

@Jeeped提出了訂購數據的要點,以獲得更可靠的結果。好建議。

+1

我發現有用的提到部分(* aka *近似或二進制搜索)匹配只能返回可靠的結果在排序的數據。 – Jeeped

+0

謝謝!我沒有永遠這樣做,忘記了FALSE參數!謝謝! – Alexx

1

另外,查找值必須位於第一列。

0

其中查找值位於B列中,結果位於A列中。

VLOOKUP總是在最左邊的列中查找,並從指定的列號中返回一個值。如果你想扭轉查找/退貨訂單,然後使用INDEX(...,MATCH(...)),你是使用排序,查找二進制

=INDEX(Asset_Mapping!A$2:A$673, MATCH(A3, Asset_Mapping!B$2:B$673, 0)) 

注意;我已將其更改爲不需要排序數據的精確匹配查找。