小伙伴們好啊,昨天在ExcelHome知識(shí)星球里看到一位同學(xué)的提問,,在使用VLOOKUP函數(shù)時(shí),,明明查詢區(qū)域里有對(duì)應(yīng)的數(shù)字,卻返回了錯(cuò)誤值,。 這個(gè)問題老祝覺得比較有代表性,,下面咱們就結(jié)合這個(gè)問題,共同學(xué)習(xí)一下VLOOKUP出錯(cuò)時(shí)可能存在的原因,,小伙伴們遇到這樣的問題時(shí),,可以順藤摸瓜,對(duì)照這些原因來排除錯(cuò)誤,。 先打開出現(xiàn)問題的文件看看: 要實(shí)現(xiàn)的目的,,是希望根據(jù)F列的商品名稱,在左側(cè)的數(shù)據(jù)源中查詢出對(duì)應(yīng)的出庫單價(jià),。 先看看G2單元格中的公式: =VLOOKUP(F2,B2:D14,3,FALSE) 第一參數(shù),,也就是查詢值,是F2單元格中的商品名稱,,這個(gè)沒問題,。 第二參數(shù),也就是查詢區(qū)域,,是數(shù)據(jù)源所在的B2:D14單元格區(qū)域,,而且這個(gè)區(qū)域的首列也包含了要查詢的商品名稱,。這個(gè)好像也沒問題。 第三參數(shù),,也就是要返回哪一列的內(nèi)容,,這里寫成3,是希望從B2:D14這個(gè)區(qū)域中返回第三列的出庫單價(jià)信息,,這個(gè)也沒問題,。 第四參數(shù),用FALSE來指定使用精確匹配的查詢方式,,這個(gè)也沒問題,。 再看看G3單元格中返回錯(cuò)誤值的公式: =VLOOKUP(F3,B3:D15,3,FALSE) 咦,這里的查詢區(qū)域怎么變成了從第三行開始,? 哈哈哈,,問題就這樣輕松解決了,是因?yàn)榈诙?shù)沒有使用絕對(duì)引用,,當(dāng)公式向下復(fù)制時(shí)查詢區(qū)域就變了,。 如果要查詢的內(nèi)容在數(shù)據(jù)源的前幾行,而查詢的數(shù)據(jù)范圍下拉后不再包含這幾行,,那就肯定會(huì)出現(xiàn)#N/A錯(cuò)誤,。 只要將第二參數(shù)變成絕對(duì)引用,再向下復(fù)制公式,,查詢區(qū)域始終固定就OK: =VLOOKUP(F2,$B$2:$D$14,3,FALSE) 除了查詢區(qū)域沒有使用絕對(duì)引用之外,,VLOOKUP出錯(cuò)的常見原因還包擴(kuò)以下幾種: 1、單元格里有空格 如下圖中,,公式寫法沒問題,,引用方式也沒問題,出錯(cuò)的原因極有可能是被查詢的內(nèi)容里有空格,,或者查詢區(qū)域的單元格里有空格了,。 解決方法是按Ctrl+H鍵調(diào)出【查找和替換】對(duì)話框,在【查找內(nèi)容】文本框中輸入空格,,點(diǎn)【全部替換】按鈕,。 實(shí)際操作時(shí),可以在英文輸入狀態(tài)下輸入空格,,全部替換,,然后再在中文輸入狀態(tài)下輸入空格,繼續(xù)替換一次,。 2,、不可見字符 如果是從系統(tǒng)導(dǎo)出的數(shù)據(jù)源,這個(gè)問題存在的概率比較大。 解決方法是單擊可能包含不可見字符的列標(biāo),,在【數(shù)據(jù)】選項(xiàng)卡下點(diǎn)【分列】按鈕,,然后在彈出的對(duì)話框中直接點(diǎn)【完成】即可。 這種方法能清除大部分類型的不可見字符,。 3,、查詢區(qū)域選擇錯(cuò)誤 如下圖所示,要查詢的商品名稱,,在數(shù)據(jù)源是B列,,如果將公式寫成從A列開始,那就不能怪VLOOKUP了: =VLOOKUP(F2,$A$2:$D$14,3,FALSE) 4,、漏掉了第四參數(shù) 第四參數(shù)用于指定使用哪種匹配方式,,如果省略參數(shù)值,僅以逗號(hào)占位,,或者將參數(shù)值寫成0,作用和使用FALSE一樣的,,都是精確匹配,。 但是如果省略了參數(shù)值,逗號(hào)又給漏掉,,那就別怪VLOOKUP不客氣了,。 就像下圖,公式直接返回一個(gè)錯(cuò)誤結(jié)果,,你說這有多坑人: 5,、數(shù)字格式不一致 這種問題,主要出現(xiàn)在數(shù)字類的查詢中,。 看看下圖中的公式: =VLOOKUP(D2,A:B,2,0) D列的編碼是文本型的數(shù)字,,而A列查詢區(qū)域的編碼是常規(guī)格式的數(shù)值,所以在查詢時(shí)就有問題了,。 解決方法是把查詢區(qū)域的格式和被查詢的內(nèi)容統(tǒng)一成同一種格式,。 可以使用兩種方法處理,一是修改公式,,將查詢值乘以1,,使其變成數(shù)值: =VLOOKUP(D2*1,A:B,2,0) 還有一種方法是使用分列,將A列的編碼變成文本格式,。 對(duì)于已經(jīng)輸入的內(nèi)容,,不能通過設(shè)置數(shù)字格式的方法實(shí)現(xiàn)從文本到數(shù)值格式的互相轉(zhuǎn)換,所以要使用分列功能,,相當(dāng)于重新輸入了一次,。 最后還有一種可能出現(xiàn)問題的原因,就是查詢內(nèi)容中包含“*”或是“~”,這兩個(gè)符號(hào)有特殊身份,在查詢條件中出現(xiàn)時(shí),,會(huì)被Excel當(dāng)成通配符處理,。 簡單有效的處理方法是將數(shù)據(jù)源以及查詢內(nèi)容中的“*”和“~”使用其他符號(hào)來替代,這個(gè)問題在實(shí)際工作中不多見,,咱們知道有這么回事就可以啦,。 好了,關(guān)于VLOOKUP函數(shù)出現(xiàn)錯(cuò)誤的主要原因咱們就分享這些,,如果你有好的經(jīng)驗(yàn),,歡迎分享給小伙伴們,一起加油吧~~ 圖文制作:祝洪忠 |
|