一、VLOOKUP函數簡介
VLOOKUP函數是Excel中的一個縱向查找函數,它與LOOKUP函數和HLOOKUP函數屬于一類函數,在工作中都有廣泛應用。功能是按列查找,最終返回該列所需查詢列序所對應的值;與之對應的HLOOKUP是按行查找的。
二、vlookup函數參數說明
Lookup_value為需要在數據表第一列中進行查找的數值。Lookup_value 可以為數值、引用或文本字符串。當vlookup函數第一參數省略查找值時,表示用0查找。
Table_array為需要在其中查找數據的數據表。使用對區域或區域名稱的引用。
col_index_num為table_array 中查找數據的數據列序號。col_index_num 為 1 時,返回 table_array 第一列的數值,col_index_num 為 2 時,返回 table_array 第二列的數值,以此類推。如果 col_index_num 小于1,函數 VLOOKUP 返回錯誤值 #VALUE!;如果 col_index_num 大于 table_array 的列數,函數 VLOOKUP 返回錯誤值#REF!。
Range_lookup為一邏輯值,指明函數 VLOOKUP 查找時是精確匹配,還是近似匹配。如果為false或0 ,則返回精確匹配,如果找不到,則返回錯誤值 #N/A。如果 range_lookup 為TRUE或1,函數 VLOOKUP 將查找近似匹配值,也就是說,如果找不到精確匹配值,則返回小于 lookup_value 的最大數值。如果range_lookup 省略,則默認為近似匹配。
三、VLOOKUP函數使用方法
VLOOKUP是一個查找函數,給定一個查找的目標,它就能從指定的查找區域中查找返回想要查找到的值。它的基本語法為:
VLOOKUP(查找目標,查找范圍,返回值的列數,精確OR模糊查找)
下面以一個實例來介紹一下這四個參數的使用
例:如下圖所示,要求根據表二中的姓名,查找姓名所對應的年齡。
公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)
參數說明:
1、查找目標:就是你指定的查找的內容或單元格引用。本例中表二A列的姓名就是查找目標。我們要根據表二的“姓名”在表一中A列進行查找。
公式:B13 =VLOOKUP(A13,$B$2:$D$8,3,0)
2、查找范圍(VLOOKUP(A13,$B$2:$D$8,3,0) ):指定了查找目標,如果沒有說從哪里查找,EXCEL肯定會很為難。所以下一步我們就要指定從哪個范圍中進行查找。VLOOKUP的這第二個參數可以從一個單元格區域中查找,也可以從一個常量數組或內存數組中查找。本例中要從表一中進行查找,那么范圍我們要怎么指定呢?這里也是極易出錯的地方。大家一定要注意,給定的第二個參數查找范圍要符合以下條件才不會出錯:
A 查找目標一定要在該區域的第一列。本例中查找表二的姓名,那么姓名所對應的表一的姓名列,那么表一的姓名列(列)一定要是查找區域的第一列。象本例中,給定的區域要從第二列開始,即$B$2:$D$8,而不能是$A$2:$D$8。因為查找的“姓名”不在$A$2:$D$8區域的第一列。
B 該區域中一定要包含要返回值所在的列,本例中要返回的值是年齡。年齡列(表一的D列)一定要包括在這個范圍內,即:$B$2:$D$8,如果寫成$B$2:$C$8就是錯的。
3、返回值的列數(B13 =VLOOKUP(A13,$B$2:$D$8,3,0))。這是VLOOKUP第3個參數。它是一個整數值。它怎么得來的呢。它是“返回值”在第二個參數給定的區域中的列數。本例中我們要返回的是“年齡”,它是第二個參數查找范圍$B$2:$D$8的第3列。這里一定要注意,列數不是在工作表中的列數(不是第4列),而是在查找范圍區域的第幾列。如果本例中要是查找姓名所對應的性別,第3個參數的值應該設置為多少呢。答案是2。因為性別在$B$2:$D$8的第2列中。
4、精確OR模糊查找(VLOOKUP(A13,$B$2:$D$8,3,0) ),最后一個參數是決定函數精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4個參數如果指定值是0或FALSE就表示精確查找,而值為1 或TRUE時則表示模糊。這里蘭色提醒大家切記切記,在使用VLOOKUP時千萬不要把這個參數給漏掉了,如果缺少這個參數默為值為模糊查找,我們就無法精確查找到結果了。
四、VLOOKUP的反向查找
VLOOKUP的反向查找,需要用IF函數把數據源倒置一下。
一般情況下,VLOOKUP函數只能從左向右查找。但如果需要從右向右查找,則需要把區域進行“乾坤大挪移”,把列的位置用數組互換一下。
例:要求在如下圖所示表中的姓名反查工號。
公式:=VLOOKUP(A9,IF({1,0},B2:B5,A2:A5),2,0)
公式剖析:
1、這里其實不是VLOOKUP可以實現從右至右的查找,而是利用IF函數的數組效應把兩列換位重新組合后,再按正常的從左至右查找。
2、IF({1,0},B2:B5,A2:A5)這是本公式中最重要的組成部分。在EXCEL函數中使用數組時(前提時該函數的參數支持數組),返回的結果也會是一個數組。這里1和0不是實際意義上的數字,而是1相關于TRUE,0相當于FALSE,當為1時,它會返回IF的第二個參數(B列),為0時返回第二個參數(A列)。根據數組運算返回數組,所以使用IF后的結果返回一個數組(非單元格區域):{“張一”,“A001”;“趙三”,“A002”;“楊五”,“A003”;“孫二”,“A004”}
評論
查看更多