vlookup公式,如果查找值和查找區域內的值類型不匹配,經常會查找不到。比如查找值為文本型數字,而查找區域內的值為數值型數字。
一、公式用法:
VLOOKUP(查找值,查找區域,返回查找區域第N列,查找模式)
1、如果查找值是數值型數字,而查找區域內的值也是數值型數字,直接用即可。
2、查找值為數值型數字,查找區域內的值為文本型數字,此時應該把查找值轉換為文本型。
比如查找值在A1,用 A1&"" 將A1轉換為文本型數字。
3、查找值為文本型數字,而查找區域內的值為數值型數字,此時把查找值轉換為數值型。用--或*1或+0等,都可以。
4、無論查找值為文本或數值,也不管查找區域內的值是文本或數值,一個公式全部完成:比如查找值為A1,區域為B2:E20,返回第3列。
IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))
二、公式說明:兩層iferror嵌套。
①外層,綠色部分,先用--A1將A1轉換為數值型,如果查找成功,返回第1個參數中的vlookup查找結果(即綠色部分的查找結果)。
②如果出現錯誤,執行內層的iferror。
③在第2層iferror中:
I、橙色部分,通過A1&""將A1轉換為文本型,如果查找成功,返回橙色部分的查找結果。
II、如果查找錯誤,返回空值""。
IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))
三、執行情況分析:
①如果查找值為數值型,查找區域值也為數值型,因為綠色部分已經將A1轉換為數值型,所以會返回綠色部分查找的結果。
②如果查找值為數值型,查找區域值為文本型,會執行內層的iferror,橙色部分將A1轉換為文本型,從而返回橙色部分的查找結果。
③如果查找值為文本型,查找區域值為數值型,因為綠色部分已經將A1轉換為數值型,所以會返回綠色部分查找的結果。
④如果查找值為文本型,查找區域值為文本型,會執行內層的iferror,橙色部分將A1轉換為文本型,從而返回橙色部分的查找結果。
注: 在excel中,通過公式中的“公式求值”,可以很清楚地看到公式的執行過程。
