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