2012-11-02 319 views
2

我正在處理一個excel文件,我試圖用vLookUp函數「映射」一些值。找不到錯誤:VLOOKUP不返回值

vLookUp函數的第一個參數讓我很頭痛:函數使用某些值(手工輸入文本格式)......但不適用於預先生成的值(同樣的值...但從ERP系統生成..)。我查了一下,以確定我在尋找「相同的性質」值(文本與文本)......但我無法找出爲什麼前3個值(用手輸入)很好......但最後3個(預生成)給了我一個#N/A錯誤:它必須是「格式」的差異..但我找不出差別在哪裏...

這是使用的公式:= VLOOKUP D1; $ A $ 1:$ B $ 219; 2,FALSE)

The actual file

1008600 379.99  1008600 379.99 
1008601 379.99  1008601 379.99 
1010600 449.99  1010600 449.99 
1010601 449.99  1010601 #N/A 
1013600 489.99  1013600 #N/A 
1014601 509.99  1014601 #N/A 
1015600 569.99   
1018603 679.99   
1019600 809.99   

謝謝!

回答

8

使用這個公式將解決突出問題通過RocketDonkey

=VLOOKUP(TEXT(D1,"#"),$A$1:$B$219,2,FALSE)

+0

這工作...但我仍然不低估爲什麼。通過ctrl + 1 - > text更改單元格的格式與TEXT(value,「#」)不同。 – user1023021

+2

更改格式並不會實際更改底層數據。您需要在格式更改後強制重新計算數據以進行更改(例如,使用文本到列)。 – nutsch

+1

你也可以連接「」來轉換爲公式中的文本,就像這樣'= VLOOKUP(D1&「」,$ A $ 1:$ B $ 219,2,FALSE)' –

2

問題是,您尚未將列A中的值轉換爲數字。由於查找範圍中的前三個值本身就是字符串,因此它們與字符串化的數字相匹配。

爲了解決在列A,按點擊其中一個號碼按Ctrl + 空間選擇整個列,然後點擊感嘆號和選擇Convert to number

enter image description here

之後,您會注意到您之前的值現在顯示錯誤,因此請按照相同的過程將它們轉換爲數字。 @ nutsch的解決方案不要求您修改數據,因此,如果您的數據的類型並不重要,這是一個很好的修復,以及:)

enter image description here

+0

這工作...但我不明白。我正在比較「字符串」值(文檔中所有單元格的CTRL + 1 ..格式 - >「文本」)。如何比較兩個字符串值不起作用?將值轉換爲數字會給我們一個數字VS字符串查找否? – user1023021

+1

@ user1023021從其他來源導入數據時,我經常遇到這種情況 - 通常情況下,即使通過「Ctrl + 1」轉換數字也不足以將其強制轉換爲正確的格式。我最好的猜測是更多的是與數字的底層系統級表示。您也可以選擇使用Paste-Special-Multi-by-1技巧,但這種方式更容易一些。 – RocketDonkey

+2

我最喜歡強迫文本編號的方式是將文本轉換爲列。 Alt A E,Alt + F,你就完成了。 – nutsch

0

這一直是我的一大痛苦,以及(Excel是完全愚蠢的假設)。我所做的是將整個列複製到文本編輯器,更改列以匹配查找列,然後將數據複製並粘貼回列中。這對我來說很好。

0

可能我強調一點值得注意的答覆巴里·胡迪尼附帶在2012以上:

=VLOOKUP(D1&"",$A$1:$B$219,2,FALSE) 

中真正起作用的(我在Excel 2010中),儘管你是在處理與數字或數字的組合或文本字符串。

對巴里的榮譽,你是一個真正的霍迪尼