1. 程式人生 > >VLOOKUP函式使用及注意事項

VLOOKUP函式使用及注意事項

·  VLOOKUP 的語法結構

VLOOKUP用於在表格或數值陣列的首列查詢指定的數值,並由此返回表格或陣列當前行中指定列處的數值

VLOOKUP(lookup_value,table_array, col_index_num, [range_lookup])。

漢語表述就是VLOOKUP(查詢值,查詢範圍,查詢列數,精確匹配或者近似匹配)

在我們的工作中,幾乎都使用精確匹配,該項的引數一定要選擇為false。否則返回值會出乎你的意料。

·  VLOOKUP使用示範

vlookup就是豎直查詢,即列查詢。通俗的講,根據查詢值引數,在查詢範圍的第一列搜尋查詢值,找到該值後,則返回值為:以第一列為準,往後推數查詢列數值

的這一列所對應的值。這也是為什麼該函式叫做vlookup(v為vertical-豎直之意,lookup即時英文的查詢之意)

其中:

1、Lookup_value:表示要查詢的值,它必須位於自定義查詢區域的最左列。

   Lookup_value 可以為數值、引用或文字串。

2、Table_array:查詢的區域,用於查詢資料的區域,上面的查詢值必須位於這個區域的最左列。可以使用對區域或區域名稱的引用。

3、Row_index_num:為 table_array 中待返回的匹配值的行序號。

Row_index_num 為1  時,返回 table_array 第一行的數值;

row_index_num 為 2 時,返回 table_array 第二行的數值;

依次類推。

4、Col_index_num:為相對列號。最左列為1,其右邊一列為2,依次類推。

5、Range_lookup:為一邏輯值,指明函式VLOOKUP 查詢時是精確匹配,還是近似匹配。

Range_lookup為:FALSE ,VLOOKUP將只查詢精確匹配值。如果Table_array 的第一列中有兩個或更多值與 lookup_value 匹配,則使用第一個找到的值。如果找不到精確匹配值,則返回錯誤值。

Range_lookup為:TRUE或被省略,則返回精確匹配值或近似匹配值。如果找不到精確匹配值,則返回小於 lookup_value 的最大值。並且,必須按升序排列 Table_array 第一列中的值;否則,VLOOKUP 可能無法返回正確的值。【TRUE 或被省略,返回的值有兩種,因此,精確查詢則選用引數FALSE。】

   如果 Table_array 的第一列中有兩個或更多值與 lookup_value 匹配,則使用從上往下,第一個升序排列段的最後一個值,如果排列段後面還有值與lookup_value 匹配。此時,反饋的還是使用從上往下,第一個升序排列段的最後一個值。

範例如圖

此處已知的資料庫是左邊部分,想通過已知的學號來從左邊找出對應的語文成績。因此在語文成績那輸入=vlookup(查詢的內容(此處為學號所在的單元格),查詢範圍(框下範圍就好),輸出內容在查詢範圍的第幾列,false(一般用精確匹配))

另外需要注意,如果資料量較大想使用拖拉功能,在選定範圍的時候一定要鎖住,如正常的A1:D5表示從A1到D5的範圍,但拖拉後範圍會往下移,因此範圍應寫為$ A$1:$D$5,這樣,對於所有的資料採集源資料的範圍都是A1到D5