首頁>科技>

專業從事查詢功能的函式:VLOOKUP,引數眾多,“脾氣”暴躁,規則複雜,一不留心就會出錯。

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

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

=VLOOKUP(查詢物件,查詢範圍,返回列數,精確匹配或者近似匹配)

— 01 —

引數使用錯誤

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)

— 02 —

查詢匹配的錯誤

除了引數設定錯誤之外,如果要查詢的資料來源不符合規範,也會出現錯誤。

NO.1:資料表中含有多餘的空格。

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

錯誤原因:源資料中,為了使姓名對齊,在陳海姓名中間添加了空格。這樣使用不帶空格的“陳海”去匹配,當然查詢不到了。

NO.2:查詢物件與源資料格式不一致

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

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

解決方案:將源資料中工號一列更改為文字型別,然後再查詢。

— 03 —

單元格引用導致的錯誤

函式中的單元格引用,“混合引用”的方式是最複雜的,也是最容易出錯的。不管是引數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錯誤種類幾乎囊括了所有的查詢情況,如果碰到了錯誤,而你剛好有解決方案,效率豈不大增!

14
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 無視美國出口管制“實體清單”,大疆硬氣迴應:依然可在美銷售