首頁 > 軟體

VLOOKUP函數返回錯誤值的原因和解決方法

2020-07-14 14:34:20

大家平時在工作中經常用VLOOKUP查詢資料,但是這個函數也有不聽話的時候,小脾氣上來了,就會返回錯誤值。

有道是知己知彼百戰百勝,接下來咱們就來了解一下VLOOKUP函數返回錯誤值的原因和解決方法

一. VLOOKUP函數基本語法

=VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup])

這個太複雜了哦,看鵝理解的VLOOKUP函數中文語法吧:

=VLOOKUP(查詢值,資料來源,第幾列,模糊查詢1/精確查詢0)

變成人話,是不是更容易理解啊,哈哈。

二. 範例說話

接下來,先看一個VLOOKUP函數的應用範例吧。

通過菜名查詢庫存數量。

C11單元格公式如下:

=VLOOKUP(B11,$B$3:$D$6,2,0)

這樣的用法大家都很熟悉了,可是VLOOKUP函數也有不聽話的時候,有時會返回錯誤值#N/A。這是怎麼回事呢?咱們來看看出現的原因和解決方法:

第一種:資料來源沒有絕對參照。

公式拖動時,查詢區域傳送變化,導致找不到查詢值。所以鎖定查詢區域尤其重要,否則就會查詢不到而返回#N/A。

第二種:指定第三引數錯誤,也會返回錯誤值。

例如以下公式

=VLOOKUP(E11,$C$3:$D$6,3,0)

這裡的查詢區域只有C、D兩列,而指定返回的列是3,明顯超出查詢區域範圍,Excel就暈了,因此就會顯示#REF!

第三種:查詢值與資料來源中的資料不一致。

1.有空格。

可以雙擊單元格,檢視最後一個字元後面是否有空格或者是在編輯列公式欄裡看。

解決方案:

1) 複製一個資料來源,貼上在公式的查詢條件裡。

2) 直接通過函數TRIM去掉空格

C11=VLOOKUP(TRIM(B11),$B$3:$D$6,2,0)。

3) 如果ERP系統匯出來的資料包含不可見字元,通過CLEAN函數處理一下,一般即可正常查詢。

如:

=VLOOKUP(CLEAN(B11),$B$3:$D$6,2,0)

2.查詢值和查詢區域中的資料型別不統一,既有文字又有數值。

可以通過TYPE函數判斷。

TYPY返回資訊如下:

數值=1;文字=2;邏輯值=4;錯誤值=16;陣列=64

這種情況下,只要將文字格式的數位轉換成真正數位就可以正常查詢了。

轉換成數位的方法有很多種:

E11*1

E11/1

E11+0

E11-0

--E11

VALUE(E11)

使用時任選其中一種即可。

第四種,查詢區域中沒有查詢值,所以顯示#N/A。

通過=IFERROR(公式,””)可以將錯誤值遮蔽掉。

以上是VLOOKUP函數返回錯誤值的幾種常見原因和解決方法,怎麼樣,你還能補充一下嗎?


IT145.com E-mail:sddin#qq.com