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 公式,””)可以將錯誤值屏蔽掉。