關於VLOOKUP函數的用法

來源:互聯網
上載者:User
於VLOOKUP函數的用法

“Lookup”的漢語意思是“尋找”,在Excel中與“Lookup”相關的函數有三個:VLOOKUP、HLOOKUO和LOOKUP。下面介紹VLOOKUP函數的用法。

一、功能
在表格的首列尋找指定的資料,並返回指定的資料所在行中的指定列處的資料。

二、文法
標準格式:
VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)

三、文法解釋
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以寫為:
VLOOKUP(需在第一列中尋找的資料,需要在其中尋找資料的資料表,需返回某列值的列號,邏輯值True或False)
1.Lookup_value為“需在資料表第一列中尋找的資料”,可以是數值、文本字串或引用。
2.Table_array 為“需要在其中尋找資料的資料表”,可以使用儲存格範圍或地區名稱等。
⑴如果 range_lookup 為 TRUE或省略,則 table_array 的第一列中的數值必須按升序排列,否則,函數 VLOOKUP 不能返回正確的數值。
如果 range_lookup 為 FALSE,table_array 不必進行排序。
⑵Table_array 的第一列中的數值可以為文本、數字或邏輯值。若為文本時,不區分文本的大小寫。
3.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!。
4.Range_lookup 為一邏輯值,指明函數 VLOOKUP 返回時是精確匹配還是近似匹配。如果為 TRUE 或省略,則返回近似匹配值,也就是說,如果找不到精確匹配值,則返回小於lookup_value 的最大數值;如果 range_value 為 FALSE,函數 VLOOKUP 將返回精確匹配值。如果找不到,則返回錯誤值 #N/A。

四、應用例子
A B C D
1 編號 姓名 工資 科室
2 2005001 周杰倫 2870 辦公室
3 2005002 蕭亞軒 2750 人事科
4 2005006 鄭智化 2680 供應科
5 2005010 屠洪剛 2980 銷售科
6 2005019 孫楠 2530 財務科
7 2005036 孟庭葦 2200 工 會

A列已排序(第四個參數預設或用TRUE)
VLOOKUP(2005001,A1:D7,2,TRUE) 等於“周杰倫”
VLOOKUP(2005001,A1:D7,3,TRUE) 等於“2870”
VLOOKUP(2005001,A1:D7,4,TRUE) 等於“辦公室”
VLOOKUP(2005019,A1:D7,2,TRUE) 等於“孫楠”
VLOOKUP(2005036,A1:D7,3,TRUE) 等於“2200”
VLOOKUP(2005036,A1:D7,4,TRUE) 等於“工 會”
VLOOKUP(2005036,A1:D7,4) 等於“工 會”

若A列沒有排序,要得出正確的結果,第四個參數必須用FALAE
VLOOKUP(2005001,A1:D7,2,FALSE) 等於“周杰倫”
VLOOKUP(2005001,A1:D7,3,FALSE) 等於“2870”
VLOOKUP(2005001,A1:D7,4,FALSE) 等於“辦公室”
VLOOKUP(2005019,A1:D7,2,FALSE) 等於“孫楠”
VLOOKUP(2005036,A1:D7,3,FALSE) 等於“2200”
VLOOKUP(2005036,A1:D7,4,FALSE) 等於“工 會”

五、關於TRUE和FALSE的應用
先舉個例子,假如讓你在數萬條記錄的表格中尋找給定編號的某個人,假如編號已按由小到大的順序排序,你會很輕鬆地找到這個人;假如編號沒有排序,你只好從上到下一條一條地尋找,很費事。
用VLOOKUP尋找資料也是這樣,當第一列已排序,第四個參數用TRUE(或確省),Excel會很輕鬆地找到資料,效率較高。當第一列沒有排序,第四個參數用FALSE,Excel會從上到下一條一條地尋找,效率較低。

筆者覺得,若要精確尋找資料,由於電腦運算速度很快,可省略排序操作,直接用第四個參數用FALSE即可。

 

 

轉 VLookup 使用
2007-03-24 20:23
最近愛上了VLOOKUP,有人還對它進行了更新。因為它的漏洞就是只能返回重複值得第一個值。下面就詳細來敘述一下吧!
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)  
Lookup_value 為需要在Table_array第一列中尋找的數值。
      可以為數值、引用或文本字串。需要注意的是類型必須與table_array第一列的類型一致。
      尋找文本時,文本不區分大小寫;可以使用萬用字元“*”、“?”。
  
Table_array 為需要在其中尋找資料的資料表。
      可以使用對地區或地區名稱的引用、常數數組、計算後的記憶體數組。
      對地區引用時,可以引用整列,excel會自動判斷使用地區。
      該參數的第一列必須包含尋找的內容,其它列包含需返回的內容;返回內容的列序號由下個參數指定。
  
Col_index_num 為table_array中待返回的匹配值的列序號。
      如為1時,返回table_array第一列中的數值;為2,返回table_array第二列中的數值,以此類推。
      如果col_index_num小於1,函數 VLOOKUP 返回錯誤值值 #VALUE!;
      如果col_index_num大於table_array的列數,函數 VLOOKUP 返回錯誤值 #REF!。
  
Range_lookup 為一邏輯值,指明函數VLOOKUP返回時是精確匹配還是近似匹配。     
      如果為TRUE或省略,則返回近似匹配值,也就是說,如果找不到精確匹配值,則返回小於lookup_value的最大數值;    
       近似匹配查詢一般用於數值的查詢,table_array的第一列必須按升序排列;否則不能返回正確的結果。   
      如果range_value為FALSE(或0),函數VLOOKUP將返回精確匹配值。    
       此時,table_array不必進行排序。如果找不到,則返回錯誤值#N/A;可isna檢測錯誤後使用if判斷去除錯誤資訊。   
=====================================================================
VLOOKUP 經常會出現錯誤的#N/A,下面是幾種可能性:
資料有空格或者資料類型不一致。
可以在lookup_value 前用TRIM()將空格去除。
如果格式不一致,可以將數值強制轉換成文本,lookup_value之後用&跟""表示的Null 字元串。
將文本轉換成數值,lookup_value*1進行運算。
=====================================================================
效果不錯噢!之前作了很多不幸的事情!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.