【Excel教學】vlookup函數用法與範例:比對重複資料並聯結

一、vlookup函數用途

Excel的vlookup用途很廣泛,最主要用法是把資料表做連結,依據的是兩個資料表中某個相同的欄位,透過vlookup做比對並且連結。

  1. 一對一的資料聯結 : 例如有一份資料是鄉鎮市區的人口資料,鄉鎮市區只有代碼;另一份資料是鄉鎮市區代碼和名稱對照表,需要將兩份資料合併才能把代碼、名稱、人口數都對應起來。不過這時候其實只要把兩邊資料用一樣排序就好
  2. 一對多/多對一的資料聯結 : vlookup最常見的用法就是要做這種資料聯結,例如會員資料中很多欄位都會以代碼代替,所以有一份資料可能是會員的居住地區(縣市、鄉鎮市區)代碼、年齡、性別等,另一份資料是地區代碼和中文對照表,需要將兩份資料表合併。
excel-vlookup-一對多概念說明範例

二、vlookup函數語法

vlookup會在table_array範圍中,依序比對第一欄是否有跟lookup_value一樣的資料值,有的話會回傳同一列第N個欄位的值( N = col_index_num )。

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

lookup_value : 要被比對的欄位,也就是要拿來當關聯的資料欄位
table_array : 要對照的表格範圍,與lookup_value作比對的欄位一定要在表格範圍的第一欄(最左邊)
col_index_num : 要填入的資料值在table_array表格範圍的第幾欄

* TRUE(大約符合) , FALSE(完全符合) :

雖然不在輸入參數裡,但是在輸入col_index_num之後,就會需要選擇,TRUE是指比對的欄位資料值大約符合就會算比對成功;通常這裡是選FALSE,比對的欄位資料值要完全相同才算比對成功。

三、vlookup函數範例

假設有兩張資料表,一張是會員資料(地區以代碼紀錄),另一張資料表是地區代碼和中文對照表,我們希望地區欄位旁邊可以直接標註中文名稱,因此需要將兩份資料表合併,如下圖所示,D欄是要被比對的欄位(地區代碼),I 跟 J 兩欄合成的表格則是地區代碼與中文名稱對照表 :

excel-vlookup-函數範例-資料表關係
excel-vlookup-函數範例-資料表關係
  1. 居住地代碼在D欄,這欄是要被比對的資料欄位,所以lookup_value參數輸入D2
  2. table_array參數輸入$I$1:$J$23。資料表範圍是I 跟 J 兩欄合成的表格,這裡可以輸入 I : J;也可以指定確切範圍,但是指定確切範圍的話要記得用「$」符號指定固定範圍,不然在使用自動填入的時候會出錯。
  3. 地區中文名在I 跟 J 兩欄合成的表格裡是第2個欄位,col_index_num 參數輸入2
  4. D 欄和 I 欄的地區代碼要完全一樣才算比對成功,因此要用FALSE(完全符合)
=VLOOKUP(D2,$I$1:$J$23,2,FALSE)
excel-vlookup-函數範例
excel-vlookup-函數範例

接著就可以使用自動填滿,依序比對所有的欄位。自動填入可以參考【Excel】自動填入(1):2種常用的自動填入(複製方式、數列方式)【Excel】自動填入(2):進階的自動填入使用

excel-vlookup-函數範例-自動填滿
excel-vlookup-函數範例-自動填滿

四、本文範例資料檔案下載

【Excel教學】範例檔案:vlookup

五、vlookup常見錯誤處理

【Excel】vlookup函數#N/A的常見原因和解決方法


更多的Excel應用,歡迎參考我的Excel教學系列


小額支持鍾肯尼

如果我的文章有幫助到你,歡迎你點這裡開啟只要40元的小額贊助連結,可以贊助我一杯咖啡錢;我會更有動力繼續寫作,幫助大家解決更多問題。

This Post Has 4 Comments

  1. Crystal

    感謝你! 真的超級有用!

  2. 小豪

    感謝您專業的解說, 不過想要請問一下, 如果是要比對2個以上的條件, 來篩選, 請問Vlookup可以比對嗎?

    1. 鍾肯尼

      可以把要比對的條件組合起來放在一個欄位中,再用vlookup

發佈留言