查表函數
●垂直查表函數:VLOOKUP
依照主表欄位中的數值為搜尋依據,比對附表中的值,當於該欄中找到符合的值時,便傳回附表中同一列中指定欄的資料到主表中。
格式:
VLOOKUP(Lookup_value , Table_array , Col_index_num , Range_lookup)
Lookup_value:
要搜尋的資料值,即搜尋依據,通常是儲存格。
Table_array:
要搜尋的查表範圍。
Col_index_num:
搜尋到的值在查表範圍中的第幾欄,此為一個數值。
Range_lookup:
搜尋條件(可省略),為邏輯值(True/False)。False表示搜尋完全符合的數值,True或省略表示搜尋欄中最接近的值。
●水平查表函數:HLOOKUP
依照主表欄位中的數值為搜尋依據,比對附表中的值,當於該列中找到符合的值時,便傳回附表中同一欄中指定列的資料到主表中。
格式:
HLOOKUP(Lookup_value , Table_array , Row_index_num , Range_lookup)
Lookup_value:
要搜尋的資料值,即搜尋依據,通常是儲存格。
Table_array:
要搜尋的查表範圍。
Row_index_num:
搜尋到的值在查表範圍中的第幾列,此為一個數值。
Range_lookup:
搜尋條件(可省略),為邏輯值(True/False)。False表示搜尋完全符合的數值,True或省略表示搜尋列中最接近的值。
【範例練習】:
開啟範例工作表【統計指數】→選取『C3』儲存格→按下資料編輯列上的【插入函數】鈕
開啟【插入函數】設定視窗→選取【VLOOKUP】函數並按下鈕
進入函數引數設定視窗,設定Lookup_value(搜尋值):【B3】、Table_array(查表範圍):【$E$3:$F$11】、Col_index_num(傳回的值位於查表範圍的第幾欄):2→按下鈕
可見到【C3】儲存格的評比資料已經查出
拖曳【C3】儲存格右下角的填滿控點,將其他的評比欄資料完成。
【範例練習】:
開啟範例工作表【新進員工培訓成績-表格】,設計一個輸入功能,輸入編號,即可將該編號員工的所有資料查出。
於資料區右側將資料的列標題複製為欄標題如下:
開啟【插入函數】設定視窗→選取【VLOOKUP】函數並按下鈕
進入函數引數設定視窗,設定以下參數:
Lookup_value(搜尋值):【$M$4】(因為是固定輸入編號值,所以該儲存格必須固定不變,要設定為絕對位置)
Table_array(查表範圍):【$A$5:$J$33】,即主工作表資料的範圍。
Col_index_num(傳回的值位於查表範圍的第幾欄):2(要查詢的是姓名欄,姓名在查表範圍中是第二欄)
輸入編號值,可見到【M5】儲存格的姓名資料已經查出。
從M5儲存格往下拖曳,將所有欄位資料複製,但因為其他欄位對應的查表範圍不同,所以必須逐一修改從【身份證字號】欄起的M6儲存格公式,依序如下:
M6:=VLOOKUP($M$4,$A$5:$J$33,3)
M7:=VLOOKUP($M$4,$A$5:$J$33,4)
M8:=VLOOKUP($M$4,$A$5:$J$33,5)
M9:=VLOOKUP($M$4,$A$5:$J$33,6)
M10:=VLOOKUP($M$4,$A$5:$J$33,7)
M11:=VLOOKUP($M$4,$A$5:$J$33,8)
M12:=VLOOKUP($M$4,$A$5:$J$33,9)
M13:=VLOOKUP($M$4,$A$5:$J$33,10)
產生結果如下:
以後只要輸入編號值,便可以查詢到該名員工的所有資料。