1使用說明
語法規則
該函數的語法規則以下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
參數
|
簡單說明
|
輸入數據類型
|
lookup_value
|
要查找的值
|
數值、引用或文本字符串
|
table_array
|
要查找的區域
|
數據表區域
|
col_index_num
|
返回數據在區域的第幾列數
|
正整數
|
range_lookup
|
模糊匹配
|
TRUE(或不填) /FALSE
|
參數說明
Lookup_value爲須要在數據表第一列中進行查找的數值。Lookup_value 能夠爲數值、引用或文本字符串。
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 的最大數值。
2使用舉例
如圖
所示,咱們要在A2:F12區域中提取工號爲10000三、10000四、10000五、10000七、100010五人的整年總計銷量,並對應的輸入到I4:I8中。一個一個的手動查找在數據量大的時候十分繁瑣,所以這裏使用VLOOKUP函數演示:
首先在I4
單元格輸入「
=Vlookup(」,此時Excel就會提示4個參數。
第二個參數,這裏輸入咱們要查找的區域(
絕對引用),即「$
A$2:$F$12,」;
第三個參數,「整年總計」是區域的第六列,因此這裏輸入「
6」,輸入「5」就會輸入第四季度的項目了;
第四個參數,由於咱們要
精確查找工號,因此輸入
「FALSE"或者
「0」。
VLOOKUP函數使用注意事項
一.VLOOKUP的語法
VLOOKUP函數的完整語法是這樣的:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1.括號裏有四個參數,是必需的。最後一個參數range_lookup是個邏輯值,咱們經常輸入一個0字,或者False;其實也能夠輸入一個1字,或者true。二者有什麼區別呢?前者表示的是完整尋找,找不到就傳回
錯誤值#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中處於第一列。
二.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函數的
工做表,若是又是在別的檔案裏抓取數據的話,檔案每每是比較大的。尤爲是當你使用的檔案自己就很大的時候,那每次開啓和存盤都是很受傷的事情。
有沒有辦法把
文件壓縮一下,加快開啓和存盤的速度呢。這裏提供一個小小的經驗。
在
工做表裏,點擊工具──選項──計算,把上面的更新遠程參照和儲存外部連結的勾去掉,再保存檔案,則會加速很多,不信你能夠試試。
下面詳細的說一下它的原理。
2.在
工做表打開時,微軟會提示你,是否要更新遠程參照。意思是說,你要不要鏈接最新的外部檔案,好讓你的VLOOKUP函數抓到最新的值。若是你有足夠的耐心,不妨試試。
3.瞭解到這點,咱們應該知道,每次單獨打開含有VLOOKUP函數的
工做表時,裏面抓取外部檔案的數值,只是上次咱們存盤時保存的值。若要連結最新的值,必需要把外部檔案同時打開。