Vlookup是大家最熟悉不過的一個函數了,但是很多初學者在使用這個函數時往往會遇到很多問題,從而得到了錯誤的結果。今天我們就來看看Vlookup使用過程中有哪些常見錯誤。知道了別人曾經遇到過的錯誤,我們自己在使用時才能避免犯同樣的錯誤。
這裡有兩點,一個是查找值,另外一個就是查找區域,這兩個都需要注意不要忽略了相對引用和絕對引用的設置。
比如我們需要從以下格式的數據表中查詢數據。
輸入下面的公式並拖動複製填充公式時就會產生錯誤。
=VLOOKUP(H2,A2:E6,COLUMN(B1),0)
所以正確的公式應該是:
=VLOOKUP($H2,$A$2:$E$6,COLUMN(B1),0)
關於絕對引用、相對引用、混合引用的知識,請參考以下文章介紹。
這個小小的符號,沒人敢忽視它!
文本型數字和真正的數值不一樣,很多初學者都忽略了這一點。關於這個知識點,我在之前的文章中有過介紹,請點擊以下連結學習。
Excel中這個坑,很多人都中招!
a. 查找值是文本,查找區域首列是數字
在以下示例中,某公司的物料編碼是純數字的,這常常會導致使用公式時的錯誤。以下是該公司部分產品的生產情況,其中「物料編碼」一列是數字。
但是在查詢表中,物料編碼被設成了文本,如果直接應用Vlookup公式就會產生錯誤。
=VLOOKUP($G2,$A:$E,COLUMN(B1),0)
正確的方法是,將查找值乘以1轉換成數值。公式如下。
=VLOOKUP($G2*1,$A:$E,COLUMN(B1),0)
另外,也可以通過「分列」的方式將數據源的「物料編碼」轉換成文本。
關於「分列」的方法,請參考以下文章介紹。
這麼好用的功能一定要推薦給你!
b. 查找值是數字,查找區域首列是文本
這時我們還是有兩種方法,其一,在公式中將查找值轉換為文本;其二,使用分列的方法將查找區域首列中的文本轉換為數值。
將查找值轉換為文本,可以使用&""的方法,請看如下示例。
=VLOOKUP($L2&"",$A:$E,COLUMN(B1),0)
3查找值不在查找區域的首列我們在示例中加上序號這一列,
以下是錯誤示例。
以下是正確示例。
查找區域應該從B列開始。
4最後一個參數設置錯誤第四個參數,如果是0或者False,則表示精確匹配,如果在查找區域首列中找不到值則返回錯誤值;如果是1或True,則表示模糊匹配,但是這往往達不到我們想要的結果。所以,我們第4個參數一般設置為0或False。
如下圖所示,在查找區域中命名沒有200000和800000這兩個物料編碼,公式還返回了查找結果,這並不是我們想要的。
5第三個參數超出了查找區域的總列數如下公式,查找區域只有5列,但是COLUMN(F1)=6,在5列數據中查找第6列數據,結果就返回錯誤值。
=VLOOKUP($G2,$A:$E,COLUMN(F1),0)
6查找值或查找區域數據存在不可見字符有時候我們從系統中導出來的數據可能會帶上一些空格;有時從網頁或者郵件中複製出來的數據中可能帶著一些看起來像空格,但是使用「查找和替換」功能輸入空格又替換不掉;更有甚者,有些字符中有不可見字符,但是通過逐個查看單元格中的字符時又找不到。這時,我們使用Vlookup時就需要先處理好這些數據了。
對於查找值、查找區域中的空格或者不可見字符,可以用Trim、Substitute去掉,也可以用「查找和替換」功能替換掉。
比如以下公式:
=VLOOKUP(SUBSTITUTE($G2," ",""),$A:$E,COLUMN(B1),0)
=VLOOKUP(TRIM($G3),$A:$E,COLUMN(B2),0)
72003版文件中的公式引用2007以上版本中整列數據如下所示,在一個2003版的文件中(文件後綴.xls)使用公式,從2007版以上的文件中查找內容就會彈出以下錯誤提示。這是因為2003版的Excel工作表最大有65536行,而2007版之後就變成了1048576行。
8通配符造成的錯誤比如有以下分類統計的數據,在另外一個地方需要用Vlookup根據分類查詢銷售額。
下圖中第一個公式沒有處理查找值,所以返回錯誤結果。
=VLOOKUP(D2,A:B,2,0)
第二個公式將~替換為~~,相當於強制聲明~是一個有含義的字符,這樣才能得出正確的結果。
=VLOOKUP(SUBSTITUTE(D3,"~","~~"),A:B,2,0)
Vlookup是一個常見的函數,大家都在用,但是一不小心可能就會出錯。了解了這些常見的可能發生的錯誤,一方面我們可以防範出錯,另一方便可以快速檢查出錯的公式並更正。
--End--
歡迎加入QQ群下載示例文件!
1群:9735376 (已滿)
2群:426619302