2013-01-15 54 views
0

有誰知道爲什麼以下返回#N/A?Excel:查詢連接值

=LOOKUP(TEXT(CONCATENATE($I$8,$I$5,"1"),0), CritCodes, Criteria) 

I5和I8包含下列公式和分別被正確地評價爲數字4和R:

=LOOKUP(B37, LevelsRange,LowLevel) 
=LEFT(B29,1) 

所以問題公式被正確地被評估此,而是它將找不到結果。

=LOOKUP("R41", CritCodes, Criteria) 

任何幫助將不勝感激。

回答

3

按我的意見 - 嘗試使用這個公式

=INDEX(criteria,MATCH($I$8&$I$5&1,Critcodes,0))

LOOKUP除非查找範圍將按升序排序通常不適合查找.....,你可能希望有一個「最接近的匹配」。 INDEX/MATCH這裏使用的不需要任何排序,但也只是給出了完全匹配,所以如果查找值不存在於Critcodes中,您將獲得#N/A

請注意,在您的示例中,如果I8 =「R」且I5 = 4然後$I$8&$I$5&1 =「R41」 - 顯然這是一個文本值,但如果I8和I5都是數字,情況也是如此,所以理想情況下,Critcodes應該都是文本值(在像41之前的任何數字前面都要這樣做)

+0

最有幫助,非常感謝。 –

1

它試圖查找字符串 「41」,而不是整數41.更改式這樣:

= LOOKUP(INT(CONCATENATE($ I $ 5, 「1」)),文字,標準)

+0

是的,當我將字段更改爲文本時它工作。現在我有一個陌生人問題 - 我會更新問題。 –

+2

你需要使用查找功能嗎? VLookup可以用來替代(CritCodes和Criteria的範圍在相同的行上是相鄰還是相同的?)我在使用Lookup時遇到了問題,它返回的是近似匹配而不是我需要的匹配...有幾件事要做讓它工作,例如您需要確保Lookup_Vector已排序。 – MattCrum

+1

完全正確的MattCrum - VLOOKUP是一個選項,但給出了兩個不同的命名範圍,在這裏你可以使用這個 - '= INDEX(條件,MATCH(「R41」,Critcodes,0)) - - 只會給出完全匹配#N/A如果沒有完全匹配)並且不需要排序 –