Excel中的VLOOKUP函數常見錯誤與解決


VLOOKUP是一個查找函數,給定一個查找的目標,它就能從指定的查找區域中查找返回憶要查找到的值。它的基本的語法為:

  VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)

lookup_value:需在數據表第一列中查找的數據。可以是數值、文本字符串或引用

table_array:需要在其中查找數據的數據表。第一列中的數值可以為文本、數字或邏輯值。若為文本時,不區分文本的大小寫

col_index_num:為table_array 中待返回的匹配值的列序號

  col_index_num = 1 ,返回 table_array 第一列中的數值;

  col_index_num = 2 ,返回 table_array 第二列中的數值;

             ...

range_lookup:

  1、TRUE 、省略  -->  模糊查找,返回近似匹配值

  0、FALSE、 ,       -->  精確查找(當參數為0時可以省略,但必須保留“,”號)

一、函數參數使用錯誤

1、第2個參數區域設置錯誤(1)

vlookup函數常見錯誤

根據姓名查找年齡時產生錯誤

錯誤原因:vlookup函數第二個參數是查找區域,該區域的第1列有一個必備條件,就是查找的對象A9必須對應於區域的第1列。本例中是根據姓名查找的,那么第二個參數姓名必須是在區域的第1列位置,而上述公式中姓名列是在區域A1:E6的第2列

=VLOOKUP(A9,B1:E6,3,0)

2、第2個參數區域設置錯誤(2)

vlookup函數常見錯誤

根據姓名查找職務時產生查找錯誤

錯誤原因:本例是根據姓名查找職務,可大家注意一下,第2個參數B1:D6根本就沒有包括E列的職務,當然會產生錯誤了

=VLOOKUP(A9,B1:E6,4,0)

3、第4個參數少了或設置錯誤

vlookup函數常見錯誤

根據工號查找姓名

錯誤原因:vlookup第四個參數:0  -->  精確查找(當參數為0時可以省略,但必須保留“,”號);

              1或省略  -->  模糊查找

如果忘了設置第4個參數則會被公式誤以為是故意省略,按模糊查找進行。當區域也不符合模糊查找規則時,公式就會返回錯誤值

=VLOOKUP(A9,A1:D6,2,0)或 =VLOOKUP(A9,A1:D6,2,) 

二、數字格式不同,造成查找錯誤

1、查找為數字,被查找區域為文本型數字

vlookup函數常見錯誤

根據工號查找姓名,查找出現錯誤

錯誤原因:在vlookup函數查找過程中,文本型數字和數值型數字會被認為不同的字符。所以造成無法成功查找

解決方案:把查找的數字在公式中轉換成文本型,然后再查找

=VLOOKUP(A9&"",A1:D6,2,0)

2、查找格式為文本型數字,被查找區域為數值型數字

vlookup函數常見錯誤

根據工號查找姓名,查找出現錯誤

解決方法:把文本型數字轉換成數值型

=VLOOKUP(A9*1,A1:D6,2,0)

三、引用方式錯誤使公式復制后產生錯誤

vlookup函數常見錯誤

當C9的公式復制到C10和C11后,C10公式返回錯誤值

錯誤原因:由於第二個參數A2:D6是相對引用,所以向下復制公式后會自動更改為A3:D7,而A10中的工號A01所在的行,不在A3:D7區域中,從而造成查找失敗

解決方案:把第二個參數的引用方式由相對引用改為絕對引用即可

B9公式改為:=VLOOKUP(A9,$A$2:$D$6,2,0)

四、多余的空格或不可見字符

1、數據表中含有多余的空格

vlookup函數常見錯誤

由於A列工號含有多余的空格,造成查找錯誤

錯誤原因:多一個空格,用不帶空格的字符查找當然會出錯了

解決方案:1、手工替換掉空格(建議使用);

        2、在公式中用trim函數替換空格而必須要用數據公式形式輸入

        即:=VLOOKUP(A9,TRIM(A1:D6),2,0) 按ctrl+shift+enter輸入后數組形式為 {=VLOOKUP(A9,TRIM(A1:D6),2,0)}

2、類空格但非空格的字符

vlookup函數常見錯誤
在表格存在大量的“空格”,但又用空格無法替換掉時,這些就是類空格的不可見字符,這時可以“以其人之道還之其人之身”,直接在單元格中復制不可見字符粘貼到替換窗口,替換掉即可

3、不可見字符的影響

vlookup函數常見錯誤

上圖的A列中看不見不存在空格和類空格字符,但查找結果還是出錯

出錯原因:這是從網頁或數據庫中導入數據時帶來的不可見字符,造成了查找的錯誤

解決方案:在A列后插入幾列空列,然后對A列進行分列操作(數據 - 分列),即可把不可見字符分離出去

vlookup函數常見錯誤

4、反向查找vlookup不支持產生的錯誤

vlookup函數常見錯誤

根據姓名查找工號,結果返回了錯誤

錯誤原因:vlookup不支持反向查找

解決方法:1、用if函數重組區域,讓兩列顛倒位置

        =VLOOKUP(D8,IF({0,1},D2:D4,E2:E4),2,0)

     2、用index+match組合實現

        =INDEX(D2:D4,MATCH(D8,E2:E4,0))

5、通配符引起的查找錯誤

  根據區間查找提成返回錯誤值

vlookup函數常見錯誤

  錯誤原因:~用於查找通配符,如果在vlookup公式中出現,會被認為特定用途,非真正的~。如在表格中查找3*6 ,356,376也被查找到

vlookup函數常見錯誤

  如果精確查找3*6,需要使用~,如下圖所示

vlookup函數常見錯誤

  解決方法:用~~就可以表示查找~了。所以公式可以修改為

  =VLOOKUP(SUBSTITUTE(A8,"~","~~"),A2:B4,2,0)

6、vlookup函數第1個參數不直接支持數組形式產生的錯誤

vlookup函數常見錯誤

同時查找A和C產品的和,然后用SUM求和

錯誤原因:VLOOKUP第一個參數不能直接用於數組

解決方法:利用N/T+IF結構轉化一下數組

公式修改為:

=SUM(VLOOKUP(T(IF({1},A8:B8)),A2:B5,2,))

 

 

本文參考於博客http://www.officezhushou.com/vlookup/3887.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM