使用vlookup出現錯誤(vlookup出錯的多種原因)

小夥伴們好啊,昨天在ExcelHome知識星球裡看到一位同學的提問,在使用VLOOKUP函式時,明明查詢區域裡有對應的數字,卻返回了錯誤值。

這個問題老祝覺得比較有代表性,下面咱們就結合這個問題,共同學習一下VLOOKUP出錯時可能存在的原因,小夥伴們遇到這樣的問題時,可以順藤摸瓜,對照這些原因來排除錯誤。

先開啟出現問題的檔案看看:

要實現的目的,是希望根據F列的商品名稱,在左側的資料來源中查詢出對應的出庫單價。

先看看G2單元格中的公式:

=VLOOKUP(F2,B2:D14,3,FALSE)

第一引數,也就是查詢值,是F2單元格中的商品名稱,這個沒問題。

第二引數,也就是查詢區域,是資料來源所在的B2:D14單元格區域,而且這個區域的首列也包含了要查詢的商品名稱。這個好像也沒問題。

第三引數,也就是要返回哪一列的內容,這裡寫成3,是希望從B2:D14這個區域中返回第三列的出庫單價資訊,這個也沒問題。

第四引數,用FALSE來指定使用精確匹配的查詢方式,這個也沒問題。

再看看G3單元格中返回錯誤值的公式:

=VLOOKUP(F3,B3:D15,3,FALSE)

咦,這裡的查詢區域怎麼變成了從第三行開始?

哈哈哈,問題就這樣輕鬆解決了,是因為第二引數沒有使用絕對引用,當公式向下複製時查詢區域就變了。

如果要查詢的內容在資料來源的前幾行,而查詢的資料範圍下拉後不再包含這幾行,那就肯定會出現#N/A錯誤。

只要將第二引數變成絕對引用,再向下複製公式,查詢區域始終固定就OK:

=VLOOKUP(F2,$B$2:$D$14,3,FALSE)

除了查詢區域沒有使用絕對引用之外,VLOOKUP出錯的常見原因還包擴以下幾種:

1、單元格里有空格

如下圖中,公式寫法沒問題,引用方式也沒問題,出錯的原因極有可能是被查詢的內容裡有空格,或者查詢區域的單元格里有空格了。

解決方法是按Ctrl H鍵調出【查詢和替換】對話方塊,在【查詢內容】文字框中輸入空格,點【全部替換】按鈕。

實際操作時,可以在英文輸入狀態下輸入空格,全部替換,然後再在中文輸入狀態下輸入空格,繼續替換一次。

2、不可見字元

如果是從系統匯出的資料來源,這個問題存在的概率比較大。

解決方法是單擊可能包含不可見字元的列標,在【資料】選項卡下點【分列】按鈕,然後在彈出的對話方塊中直接點【完成】即可。

這種方法能清除大部分型別的不可見字元。

3、查詢區域選擇錯誤

如下圖所示,要查詢的商品名稱,在資料來源是B列,如果將公式寫成從A列開始,那就不能怪VLOOKUP了:

=VLOOKUP(F2,$A$2:$D$14,3,FALSE)

4、漏掉了第四引數

第四引數用於指定使用哪種匹配方式,如果省略引數值,僅以逗號佔位,或者將引數值寫成0,作用和使用FALSE一樣的,都是精確匹配。

但是如果省略了引數值,逗號又給漏掉,那就別怪VLOOKUP不客氣了。

就像下圖,公式直接返回一個錯誤結果,你說這有多坑人:

5、數字格式不一致

這種問題,主要出現在數字類的查詢中。

看看下圖中的公式:

=VLOOKUP(D2,A:B,2,0)

D列的編碼是文字型的數字,而A列查詢區域的編碼是常規格式的數值,所以在查詢時就有問題了。

解決方法是把查詢區域的格式和被查詢的內容統一成同一種格式。

可以使用兩種方法處理,一是修改公式,將查詢值乘以1,使其變成數值:

=VLOOKUP(D2*1,A:B,2,0)

還有一種方法是使用分列,將A列的編碼變成文字格式。

對於已經輸入的內容,不能通過設定數字格式的方法實現從文字到數值格式的互相轉換,所以要使用分列功能,相當於重新輸入了一次。

最後還有一種可能出現問題的原因,就是查詢內容中包含“*”或是“~”,這兩個符號有特殊身份,在查詢條件中出現時,會被Excel當成萬用字元處理。

簡單有效的處理方法是將資料來源以及查詢內容中的“*”和“~”使用其他符號來替代,這個問題在實際工作中不多見,咱們知道有這麼回事就可以啦。

好了,關於VLOOKUP函式出現錯誤的主要原因咱們就分享這些,如果你有好的經驗,歡迎分享給小夥伴們,一起加油吧~~

圖文製作:祝洪忠