函數急診室:VLOOKUP查找錯誤詳解

2021-03-04 Excel之家ExcelHome
專業從事查找功能的函數:VLOOKUP,參數眾多,「脾氣」暴躁,規則複雜,一不留心就會出錯。

出錯誤並不可怕,怕的是不知道怎麼解決。本文就教你破解VLOOKUP函數病症的良藥。

在總結VLOOKUP函數錯誤之前,我們先來回顧下VLOOKUP函數的語法:

=VLOOKUP(查找對象,查找範圍,返回列數,精確匹配或者近似匹配)

了解了Vlookup函數的基本語法,可還是經常會遇到一些錯誤。於是滿懷期待了走進了診室,希望能夠藥到病除。 

NO.1:參數1使用錯誤

通常對於批量查找,參數1會使用引用單元格,這就涉及到引用方式的問題,稍微不注意,就可能造成查找錯誤。

比如,在F2輸入公式=VLOOKUP($E$2,B:C,2,0),向下複製填充,結果三個單元格中返回的值都是89,顯然高書記和李書記的成績是錯誤的。

錯誤原因:第一個參數採用了絕對引用,這樣在複製填充時,單元格引用不會變化,所以一直查找的是「陸亦可」對應的成績。

解決方法:對於VLOOKUP的第一個參數,如果公式需要詳細複製填充,則需要使用行的相對引用,所以公式改為=VLOOKUP($E2,B:C,2,0)或=VLOOKUP(E2,B:C,2,0)均可。

NO.2:參數2首行錯誤

VLOOKUP函數中,參數2的限制很多,是最容易出錯的地方。如圖查找三位同事的成績,結果均返回錯誤值。

錯誤原因:VLOOKUP函數的第二個參數是查找區域,這個區域不是隨便選取的,它必須滿足的條件之一就是:參數1(查找對象)必須位於該區域的第1列。

本例選取的參數2為A:C,其中姓名列位於此區域的第二列,所以無法正確查找。

解決方法:將公式修改為=VLOOKUP(E2,B:C,2,0),即函數的第二個參數設置為B:C。

NO.3:參數2區域範圍錯誤

如圖所示,參數2設置為B:C,可是查找還是出錯了。

錯誤原因:參數2必須滿足的條件之二就是:這個區域一定要包含需要返回的我們需要返回成績,但是第2個參數B:C根本就沒有包括D列的成績。

解決方法:將公式修改為=VLOOKUP(F3,B:C,3,0),是第二參數包含需要返回的值。

NO.4:參數2區域中列的順序錯誤

如圖,使用姓名查找組別,結果返回錯誤值。

錯誤原因:本例中VLOOKUP函數的第二參數為A:B,其實這兩有兩個錯誤。一是參數1並不在參數2選定區域的第一列;第二是返回值「組別」在查找值的左側,這是不允許的。

解決方法:①最簡單的方法,將A、B列數據互換,然後再使用VLOOKUP查找;②使用index+match組合查找

NO.5:參數3使用錯誤

參數3「返回的列數」指的是在參數2這個區域中的列數,它不一定等於在Excel表格中的列數,如果將參數3設置為「4」,結果返回錯誤值。

錯誤原因:成績位於參數2選定的區域「B:D」中的第三列,而不是第四列,因此參數3需要設置為3.

修改:將公式修改為=VLOOKUP(F3,B:D,3,0)即可。

NO.6:參數4設置錯誤。

如圖所示,最後一個參數設置為1,結果返回的數值與姓名對不上號。

錯誤原因:VLOOKUP函數的參數4為0或省略時表示精確查找,非0值時表示模糊查找。這裡設置為1,所以進行的是模糊查找。模糊查找,會找到和它最接近,但比它小的那個數。因此返回的數值不正確。

修改方法:將公式改為

=VLOOKUP(F2,B:D,3,)

或者=VLOOKUP(F2,B:D,3,0)

除了參數設置錯誤之外,如果要查找的數據源不符合規範,也會出現錯誤。

NO.1:數據表中含有多餘的空格。

如圖查找成員的成績,陸亦可的成績能夠正確查找,陳海的卻出錯。

錯誤原因:源數據中,為了使姓名對齊,在陳海姓名中間添加了空格。這樣使用不帶空格的「陳海」去匹配,當然查找不到了。

解決方法:使用TRIM或者手工刪除空格。如果希望兩個字的姓名與三個字的對齊,可以採用分散對齊的方式,如圖所示。

NO.2:查找對象與源數據格式不一致

小白雷哥需要通過員工工號查詢到電腦號碼。使用=VLOOKUP(G3,A2:D12,4,1) 查詢時,返回錯誤值#N/A 。

診斷分析:這是因為查找值(11208)與查找範圍第一列(工號)數據格式不一致導致的。在vlookup函數查找過程中,文本型數字和數值型數字會被認為不同的字符。所以造成無法成功查找。

解決方案:將源數據中工號一列更改為文本類型,然後再查找。

函數中的單元格引用,「混合引用」的方式是最複雜的,也是最容易出錯的。不管是參數1,還是參數2都會有這樣的問題。

如圖使用COLUMN函數與VLOOKUP函數嵌套,一次返回多列查找值,在G2中輸入公式

=VLOOKUP(F2,B2:D9,COLUMN(B1),0)

然後向下拖動複製,並向右拖動複製,但是返回的值有一部分是錯誤的。

錯誤原因:①由於第二個參數B2:D9是相對引用,所以向下複製公式後會自動更改為B3:D10,B4:D11……而F4中的陳海所在的行,不在B4:D11區域中,從而造成查找失敗。

②而向右複製時,參數1會變為G3,因此查找對象變為了性別,從而造成查找失敗。

解決方法:把參數2由相對引用改為絕對引用;參數1改為混合引用。即公式為=VLOOKUP($F2,$B$2:$D$9,COLUMN(B1),0)

這樣既能確保向下複製時可以查找不同的姓名,又能確保向右複製時查找對象不會篡位。

這些VLOOKUP錯誤種類幾乎囊括了所有的查找情況,如果碰到了錯誤,而你剛好有解決方案,效率豈不大增!

圖文作者:安偉星

原載公眾號 精進Excel

相關焦點

  • 函數急診室:最全的VLOOKUP查找錯誤詳解
    ▼在總結VLOOKUP函數錯誤之前,我們先來回顧下VLOOKUP函數的語法:=VLOOKUP(查找對象,查找範圍,返回列數,精確匹配或者近似匹配)了解了Vlookup函數的基本語法,可還是經常會遇到一些錯誤。於是滿懷期待了走進了診室,希望能夠藥到病除。
  • vlookup函數錯誤值的處理技巧
    Hello,大家好這一篇我們緊接著上一章來學習下vlookup函數錯誤值的處理,vlookup函數的錯誤值分為2類,第一類是參數選擇類錯誤,第二類:數據格式錄入類錯誤,下面就讓我們來看下錯誤出現的原因以及如何解決這些錯誤
  • Excel vlookup函數高級應用實例詳解(每個會計都必須會的函數)
    Excel Vlookup函數教程詳解(每個會計都必須會的函數)》寫了關於vlookup函數的基礎教程,應大家投票需求,本篇主要分享一些>vlookup函數高級應用(有沒有被嚇倒~如果被嚇到了,可以先看一下上篇文章),本文主要包括vlookup函數批量查找,模糊查找,反向查找以及多條件查找。
  • excel怎樣運用VLOOKUP函數與INDEX-MATCH函數進行查找?
    在實際工作中,我們經常使用vlookup函數與index-match函數進行查找,這倆個函數都可以實現查找的功能,下面就基本查找,反向查找,多條件查找對比下這兩個函數的運用方式。一:基本查找vlookup第一個參數表示查找的依據,第二個參數表示查找的範圍,第三個參數表示返回的結果在查找範圍的第幾列,第四個參數是選擇精確匹配還是近似匹配。主要值得注意的地方是選擇的範圍必須從查找依據所在列開始選,否則返回結果錯誤,查找對應單元格一般選擇精確匹配,近似匹配一般適用於對應區間的查找。
  • 這個查找函數的技巧你會嗎?vlookup函數的多條件匹配查找
    今天我們分享一個vlookup函數的多條件匹配的查詢,vlookup函數是查找功能比較強大,而且也是比較實用的,我們之前學習過vlookup函數的精確查找和模糊查找,這次我們要分享的是vlookup函數的多條件匹配的查找。
  • excel查找函數:如何用Vlookup進行多條件查找
    通常使用Vlookup函數進行多條件查找的時候從上圖可以看到,雖然輔助列姓名後不是日期,但我們使用vlookup進行查找還是能得到正確的結果,這是怎麼回事呢?四、可以用TEXT函數把數字顯示為日期明白了上面的幾點,自然就知道雖然輔助列姓名後是數字而非日期,但仍然可以使用Vlookup函數正常查找。
  • vlookup函數模糊查找匹配之查找日費率
    Excel教程裡面vlookup函數模糊查找就是獲取一個區間的對應值,下面我們通過一個案例來理解vlookup函數模糊匹配。  vlookup函數模糊查找案例:查找天數在期間的日費率。   vlookup函數模糊匹配剖析:藉助一個輔助列,創建每個區間的下限,然後用VLOOKUP函數進行模糊查詢,當查找不到對應值,會返回比查找值小,且最接近查找值的值。比如查找值為70查找不到對應值,就查找比他小的值,0、31、61都比他小,而61最接近70,也就是查找61的對應值。
  • excel查找函數-vlookup
    大家都會想到 VLOOKUP、LOOKUP等熟悉的查詢函數,但是對於剛入接觸或學習excel的新手不知道怎麼操作,今天分享關於查詢問題通過下面例子進行演示,如下:關鍵詞:vlookup、IFERROR、反方向查找函數使用格式=VLOOKUP
  • 你的vlookup為啥匹配不到數據?vlookup各種錯誤解決方法
    前面分享了兩篇關於vlookup函數的使用教程。分別是:Excel Vlookup函數教程詳解(每個會計都必須會的函數)Excel vlookup函數高級應用實例詳解(每個會計都必須會的函數)大家可以關注我,然後點進我的頭像,進入即可查看上面兩篇文章。
  • 電子表格vlookup函數模糊查找
    在之前的文章中給大家介紹了非常使用的查找函數vlookup,本篇文章在此基礎介紹此函數的另一個功能——模糊查找。我們都知道vlookup函數使用方法:vlookup(查找值,數據表,序列數,匹配條件)說明:其中的匹配條件:這個匹配條件有2個,分別是false和true。當然false可以用0代替,true可以用1代替。false表示是精確查找。
  • EXCEL表格詳解vlookup第三彈-index()函數實現vlookup功能
    在vlookup函數的使用過程中,有時需要查找的數據在匹配的列的前面,而這時我們通用的做法是將查找列拷貝到匹配列的後面,這樣就可以使用vlookup了。但在實際的使用過程中會修改源數據表,難免回對後續其他的一些操作帶來不便。
  • 【excel】Vlookup 函數這些錯誤你遇到了嗎!
    點擊上方藍色字體, 免費訂閱"內部審計學習平臺"  平時在用vlookup函數是公式輸入無誤,缺不能出來正確的結果,是否在懷疑自己,難到我的Vlookup函數是假的嗎?如下圖,B8單元格輸入的是數字「111」,而A列存儲的是文本型數字,兩者不同,因此返回錯誤。1)利用【分列】功能將文本型數字轉化為數字;2)把VLOOKUP的第一參數加上&」」轉換為文本。遇到VLOOKUP函數有錯誤值的時候,別忘了用上面這幾種方法檢查一下哦。
  • 比VLOOKUP更強大的查找函數
    VLOOKUP是查找引用函數,其原理是查找什麼?在哪個範圍找?返回第幾列數據,是精確還是模糊查找。理解這個思路VLOOKUP已經爛熟於心了。但需要注意的是,VLOOKUP函數不能逆向查找,而有時候為了方便,需要逆向查找數據,所以才有了INDEX和MATCH函數INDEX函數◆定義:Index:英文意思為「索引」INDEX函數也是一個查找函數,功能與VLOOKUP有所不同◆語法:=INDEX
  • excel查找數據就是如此簡單,vlookup函數的模糊查找
    我們在實際工作中,我們經常使用excel表格處理數據,處理數據的方法有很多種,查找數據應該是我們在日常工作中使用頻率比較高的操作,這次我們還是分享查找數據的小技巧,這次是對數據進行模糊查找,我們使用vlookup函數對數據進行模糊查找,下面我們就以實例結合視頻的形式將詳細的操作步驟展示出來
  • 詳解vlookup函數的使用方法,以及使用技巧
    Hello,大家好,這一章我們開始學習函數,函數可以說是excel的精髓,它們能夠幫助我們快速的處理數據,提高工作效率,今天我們就來學一個我們工作中用到最多的函數,可能也是很多人的啟蒙函數,他就是vlookup函數,vlookup函數操作簡單,功能強大,它也是Excel中使用最廣泛的函數之一開始之前我們先來學習下excel
  • vlookup函數結合match函數實現多行查找
    今天先不繼續更新index函數,有同學說,index函數使用時,通過match兩次使用獲取行列位置有些麻煩,很擔心出錯。
  • vlookup 函數有12種易犯錯誤 , 你都知道嗎?!
    vlookup函數是一個非常好用的查找函數,但由於種種原因,在實際使用時會遇到種種讓人搞不明白的錯誤。
  • excel函數技巧:好像沒錯誤可Vlookup函數卻錯誤結果
    一些毛病是使用者功夫不到家,寫的公式存在錯誤造成的,譬如查找值不在查找區域的首列、查找區域錯誤、返回位置錯誤等等;一些毛病則是數據上有問題造成的。數據上的問題,有些很明顯,容易發現,有些很隱蔽,不容易發現。今天的教程就是分享3條影響Vlookup正常工作的數據問題。
  • Vlookup函數的多列查找、多條件查找
    vlookup函數可能很多人用過,但多列查找和多條件查找很多人不會,我們來先回顧一下函數語法。
  • Excel查找引用:比vlookup函數還好用的是hlookup函數
    在之前發布了一個動態排班表的文章,根據日期和班組來查詢班次,小編原來使用了一個很長很長的if+vlookup函數組合查找到的!函數查找範圍是使用了定義名稱!沒想到只要一個hlookup函數就可以解決這個函數和vlookup函數的查找區別是橫向查找,查找值都必須在查找區域的首行/首列所以在F2中輸入公式=HLOOKUP(B2,四班三倒!