2021-05-12 14:32:11
VLOOKUP函數返回錯誤值的原因和解決方法
大家平時在工作中經常用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函數返回錯誤值的幾種常見原因和解決方法,怎麼樣,你還能補充一下嗎?
相關文章