2016-04-01 373 views
0

我已經查看了大量「VLOOKUP」 - 相關問題,似乎無法找到類似的問題。當查找列包含嵌套公式時,VLOOKUP返回N/A

我的查找表的搜索列有格式如下數據:

HT100 
HT101 
HT102 

但這些值是基於,其中原始值爲公式:

HT100 - a sweet truck 
HT101 - another sweet truck 
etc. 

所以查找表的搜索欄實際上包含以下公式:

=LEFT(A2,5) 

其中A2指

LDR100 - a sweet front-end loader 

因爲它長6個字符,我不能使用:但是

,就會出現問題,當我到達,看起來像這樣的數據的一小部分數據的完整版以上公式。相反,我開始使用:

=LEFT(A2,SEARCH(" ",A2,1)) 

這會在第一個空格字符處截斷字符串。

問題:如果數據被格式化 「HT100」

VLOOKUP將返回匹配。

如果數據格式爲「LEFT(A2,5)」,VLOOKUP將返回一個匹配項。

VLOOKUP將不會返回匹配,如果數據被格式化「LEFT(A2,SEARCH(」」,A2,1))

我的問題是:爲什麼VLOOKUP不能返回匹配時,第二個參數?左()不是一個常數

+0

注意:如果將LEFT()的第二個參數放在另一列並引用它,例如'= LEFT(A2,G2)',那麼VLOOKUP也無法返回匹配項,其中G2是包含數字的單元格5或6(根據需要) – Arne

+2

您的'LEFT(A2,SEARCH(「,,A2,1))公式在結果末尾留出空格。將公式更改爲= trim(LEFT(A2,SEARCH(「」,A2,1)))' –

+2

@ScottCraner就像那樣簡單。使用'= LEFT(A2,SEARCH(「」,A2,1)-1)'也適用。感謝您的快速回復 – Arne

回答

-1

這是因爲您在您的查找值空間
試試這個:

=VLOOKUP(LEFT(A2, SEARCH(" ",A2,1)**-1**),$B$2:$C$4,2,FALSE) 

還是儘量不要精確匹配:

=VLOOKUP(LEFT(A2, SEARCH(" ",A2,1)-1),$B$2:$C$4,2,**TRUE**)