複製鏈接
請複製以下鏈接發送給好友

VLOOKUP函數

鎖定
VLOOKUP函數是Excel中的一個縱向查找函數,它與LOOKUP函數HLOOKUP函數屬於一類函數,在工作中都有廣泛應用,例如可以用來核對數據,多個表格之間快速導入數據等函數功能。功能是按列查找,最終返回該列所需查詢序列所對應的值;與之對應的HLOOKUP是按行查找的。
中文名
VLOOKUP函數
外文名
VlookUp
適用範圍
Excel
功    能
按列查找
類    別
查找函數

VLOOKUP函數語法規則

該函數的語法規則如下:
VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
參數
簡單説明
輸入數據類型
lookup_value
要查找的值
數值、引用或文本字符串
table_array
要查找的區域
數據表區域
col_index_num
返回數據在查找區域的第幾列數
正整數
range_lookup
精確匹配/近似匹配
FALSE(0、空格或不填(但是要有','佔位))/TRUE(1或不填(無逗號佔位))

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 的最大數值。應注意VLOOKUP函數在進行近似匹配時的查找規則是從第一個數據開始匹配,沒有匹配到一樣的值就繼續與下一個值進行匹配,直到遇到大於查找值的值,此時返回上一個數據(近似匹配時應對查找值所在列進行升序排列)。如果range_lookup 省略,則默認為1。

VLOOKUP函數使用舉例

VLOOKUP教學參考
圖1 圖1
如圖1所示,我們要在A2:F12區域中提取工號為100003、100004、100005、100007、100010五人的全年總計銷量,並對應的輸入到I4:I8中。一個一個的手動查找在數據量大的時候十分繁瑣,因此這裏使用VLOOKUP函數演示:
首先在I4單元格輸入“=Vlookup”,此時Excel就會提示4個參數。
圖2 圖2
第一個參數,填寫需要被查找的數字,工號100003在前表中對應為“H4”,這裏就輸入“H4,” ;
第二個參數,這裏輸入我們要返回數據的區域(絕對引用),即“$A$2:$F$12,”;查找時只會用H4與$A列的內容匹配
第三個參數,“全年總計”是區域的第六列,所以這裏輸入“6”,就會輸入全年總計的項目了;
(注意:這裏的列數不是EXCEL默認的列數,而是查找範圍的第幾列)
第四個參數,因為我們要精確查找工號,所以輸入“FALSE”或者“0”。模糊查找輸入“TRUE”或“1”。 [1] 
最後補全最後的右括號,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”,使用填充柄填充其他單元格即可完成查找操作。
VLOOKUP函數使用注意事項
一.VLOOKUP的語法
1.括號裏有四個參數,是必需的。最後一個參數range_lookup是個邏輯值,我們常常輸入一個1或者True,其實也可以輸入一個0或者False [2]  。兩者有什麼區別呢。前者表示的是完整尋找,找不到就傳回錯誤值#N/A;後者先是找一模一樣的,找不到再去找很接近的值,還找不到也只好傳回錯誤值#N/A。
2.Lookup_value是一個很重要的參數,它可以是數值、文字字符串、或參照地址。我們常常用的是參照地址。用這個參數時,有三點要特別提醒:
A.參照地址的單元格格式類別與去搜尋的單元格格式的類別要一致,否則的話有時明明看到有資料,就是抓不過來。特別是參照地址的值是數字時,最為明顯,若搜尋的單元格格式類別為文本格式,雖然看起來都是123,但是就是抓不出東西來的。
而且格式類別在未輸入數據時就要先確定好,如果數據都輸入進去了,發現格式不符,已為時已晚,若還想去抓,則需重新輸入。
B.在使用參照地址時,有時需要將lookup_value的值固定在一個格子內,而又要使用下拉方式(或複製)將函數添加到新的單元格中去,這裏就要用到“$”這個符號了,這是一個起固定作用的符號。比如説我始終想以D5格式來抓數據,則可以把D5弄成這樣:$D$5,則不論你如何拉、複製,函數始終都會以D5的值來抓數據。
C. 用“&” 連接若干個單元格的內容作為查找的參數。在查找的數據有類似的情況下可以做到事半功倍。
3.Table_array是搜尋的範圍,col_index_num是範圍內的欄數。Col_index_num 不能小於1,其實等於1也沒有什麼實際用的。如果出現一個這樣的錯誤的值#REF!,則可能是col_index_num的值超過範圍的總字段數。選取Table_array時一定注意選擇區域的首列必須與lookup_value所選取的列的格式和字段一致。比如lookup_value選取了“姓名”中的“張三”,那麼Table_array選取時第一列必須為“姓名”列,且格式與lookup_value一致,否則便會出現#N/A的問題。
4.在使用該函數時,lookup_value的值必須在table_array中處於第一列。
5.使用該函數時,返回的是目標區域第一個符合查找值的數值。也就是説在目標區域存在多個目標值時,則應特別注意。
二.VLOOKUP的錯誤值處理。
如果找不到數據,函數總會傳回一個這樣的錯誤值#N/A,這錯誤值其實也很有用的。
例如,如果我們想這樣來作處理:如果找到的話,就傳回相應的值,如果找不到的話,就自動設定它的值等於0,則函數可以寫成這樣:
=if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))
在Excel 2007以上版本中,以上公式等價於
=IFERROR(vlookup(1,2,3,0),0)
這句話的意思是:如果VLOOKUP函數返回的值是個錯誤值的話(找不到數據),就等於0,否則,就等於VLOOKUP函數返回的值(即找到的相應的值)。
這裏又用了兩個函數。
第一個是iserror函數。它的語法是iserror(value),即判斷括號內的值是否為錯誤值,如果是,就等於true,不是,就等於false。
第二個是if函數,這也是一個常用的函數的,後面有機會再跟大家詳細講解。它的語法是if(條件判斷式,結果1,結果2)。如果條件判斷式是對的,就執行結果1,否則就執行結果2。舉個例子:=if(D2=””,”空的”,”有東西”),意思是如D2這個格子裏是空的值,就顯示文字“空的”,否則,就顯示“有東西”。(看起來簡單吧。其實編程序,也就是這樣子判斷來判斷去的。)
在Excel 2007以上版本中,可以使用iferror(value, value_if_error)代替以上兩個函數的組合,該函數判斷value表達式是否為錯誤值,如果是,則返回value_if_error,如果不是,則返回value表達式自身的值。
三.含有VLOOKUP函數的工作表檔案的處理。
一般來説,含有VLOOKUP函數的工作表,如果又是在別的檔案裏抓取數據的話,檔案往往是比較大的,尤其是當你使用的檔案本身就很大的時候,那每次開啓和存盤都是很受傷的事情。
有沒有辦法把文件壓縮一下,加快開啓和存盤的速度。這裏提供一個小小的經驗。
在工作表裏,點擊工具──選項──計算,把上面的更新遠程參照和儲存外部連結的勾去掉,再保存檔案,則會加速不少,不信你可以試試。
下面詳細的説一下它的原理。
1.含有VLOOKUP函數的工作表,每次在保存檔案時,會同時保存一份其外部連結的檔案。這樣即使在單獨打開這個工作表時,VLOOKUP函數一樣可以抓取到數值。
2.在工作表打開時,微軟會提示你,是否要更新遠程參照。意思是説,你要不要連接最新的外部檔案,好讓你的VLOOKUP函數抓到最新的值。如果你有足夠的耐心,不妨試試。
3.瞭解到這點,我們應該知道,每次單獨打開含有VLOOKUP函數的工作表時,裏面抓取外部檔案的數值,只是上次我們存盤時保存的值。若要連結最新的值,必須要把外部檔案同時打開。
Vlookup最容易出錯的地方是查找區域的首列必須含有查找的內容。
比方説一個表,a列是序號,b列是姓名,c列是身份證,你在d列輸入其中的一個姓名,在e1得到其身份證的公式不能是=vlookup(d1,a:c,3,0),而應是=vlookup(d1,b:c,2,0).
對於vlookup函數的使用方法,只是看文字就顯得很枯燥,為了方便大家理解,可以查看參考資料中的vlookup函數的使用方法實例方便理解掌握。
參考資料
  • 1.    彭亮.不加班早下班的創意Excel玩法:廣東旅遊出版社,2015年:107
  • 2.    VLOOKUP 函數  .Microsoft 支持[引用日期2023-12-06]