使用 Excel 的 VLOOKUP
函數,自動查表、依據對應值或區間填入資料。
在整理各種表格資料時,多少都會遇到需要根據對應表來填入資料的情況,例如查詢學生的學號,填入姓名等基本資料,或是根據成績的分布區間,填入等第的資訊等,雖然這些動作都很簡單,但是當資料量很多的時候,還是會需要耗費大量的人工與時間的。
其實在 Excel 中,基本查表與填入資料的動作都可以使用 VLOOKUP
這個函數來處理,只要訂好規則,就可以一次處理非常大量的資料,非常方便,以下是 VLOOKUP
的使用方式教學與實際的範例。
查表填入對應值
假設我們有一個 Excel 檔案如下,右方橘色的表格是一個對照表,裡面有所有學生的「學號」與「姓名」的對照關係,而左邊藍色的表格是一個需要根據學號來填入姓名的表格。
我們要做的事情就是使用 VLOOKUP
函數,根據右邊的橘色對應表,把左邊藍色表格的姓名欄位填好。
VLOOKUP
函數的使用方式如下:
=VLOOKUP(查閱值, 查表範圍, 傳回值欄號, 是否大約符合)
以下是各個參數的詳細說明:
- 查閱值
- 要用來作為查詢依據的值,以這個例子來說就是藍色表格中的學號欄位(例如
A2
)。 - 查表範圍
- 要查詢的表格範圍,也就是橘色表格的範圍(
D2:E8
)。由於
查表範圍
通常都是固定的,所以如果撰寫的公式會直接套用至其他的儲存格時,這個範圍就要改用絕對位置($D$2:$E$8
),防止查表範圍也跟著跳動。另外
查表範圍
的第一欄一定要是查閱值的欄位,以這個例子來說,就是學號一定要在查表範圍
的第一欄,這樣VLOOKUP
才能正常運作。 - 傳回值欄號
- 指定在
VLOOKUP
找到對應的資料之後,要回傳查表範圍
中第幾欄的資料,以這個例子來說,我們希望它傳回「姓名」的欄位,所以要填入2
。 - 是否大約符合
- 指定是否尋找大約符合的對應值,若填入
FALSE
則表示要找出完全符合的值。若填入
TRUE
或省略不寫,則代表從查表範圍
的第一欄中尋找近似值,如果找不到完全一樣的值,則回傳小於查閱值
那一列所對應的資料。在這個例子中,由於學號一定要完全相同才算是比對成功,所以這一個參數要填入
FALSE
。
完整的公式寫出來就會像這樣:
=VLOOKUP(A2,$D$2:$E$8,2,FALSE)
這裡的查表範圍
我們是使用絕對位置,所以可以直接套用至下方的儲存格,這樣就可以一次讓 Excel 自動幫我們查出所有學號所對應的姓名了。
區間資料查表填入
除了精確對應關係的查表之外,根據數值區間找出對應值的情況也很常見,以下是一個簡單的範例。
假設我們有一個 Excel 檔案如下,右方橘色的表格是「成績區間」與「等第」的對照關係,而左邊藍色的表格是一個需要根據成績來填入等第的表格。
像這種根據區間找出對應值的問題,也可以使用 VLOOKUP
來處理,不過作法稍微有些差異。
在右邊橘色的表格中,區間的資料是一個範圍,VLOOKUP
無法直接處理這種資料,我們必須先將區間資料整理一下,新增一欄區間的「最低分」,這樣才能交給 VLOOKUP
來處理。
接著按照類似的作法撰寫公式,這裡 VLOOKUP
是根據區間的「最低分」來判定成績的等第的,所以查表範圍
只要包含「最低分」與「等第」兩個欄位即可($F$2:$G$6
),而最後一個是否大約符合
參數就要填入 TRUE
,讓 VLOOKUP
根據區間的「最低分」傳回對應的等第:
=VLOOKUP(B2,$F$2:$G$6,2,TRUE)
將公式套用至下方的儲存格後,就可以自動填入所有成績的等第資訊了。