
"為什么vlookup函數(shù)會(huì)給我錯(cuò)誤的結(jié)果?難道這是Excel的bug?"
令人疑惑的vlookup結(jié)果
單元格D3,D4中分別是要查詢的字段,但E3、E4中的查詢結(jié)果,卻不是正確的結(jié)果。這是為什么呢?
其實(shí),這是因?yàn)槟阌錾狭?b>通配符。
通配符
字段中的問號(hào)"?"和星號(hào)"*"都是Excel中的通配符。他們可以被用在諸如Find/Replace, Search, Match以及Lookup這樣的函數(shù)中,具體說來:
?-代表單個(gè)字符
*-代表任意長(zhǎng)度的字符
回到上述的例子中,在進(jìn)行第一個(gè)vlookup時(shí),“褲子?8”意味著這樣的一個(gè)字符串:
以“褲子”開始
以“8”結(jié)尾
兩者間還有一個(gè)字符
所以造成在使用vlookup時(shí),Excel首先匹配到了A5單元格的“褲子28”。
而在進(jìn)行第二個(gè)vlookup時(shí),“褲子*9”則首先讓程序匹配到了A4單元格的“褲子藍(lán)色29”。
該怎么辦?
因此,如何才能在使用vlookup查詢包含“?”或“*”這樣的字符串呢?
你需要在“?”/“*”前添加一個(gè)“~”
如圖所示,在通配符前添加“~”后,就能查詢到正確的結(jié)果了。
不過,如果你不記得在查詢前給單元格中的通配符加上~,那你可以使用SUBSTITUTE函數(shù)。
=VLOOKUP(SUBSTITUTE(lookup_value,"*","~*"),$A$3:$B$7,2,0)