-
在使用EXCEL時,有時候需要從列表中根據特征數據查找返回相應的數據記錄,此時就要用到搜索函數,VLOOKUP就是其中之一,並且是使用頻率較高的函數之一。
-
VLOOKUP函數有四個參數,VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]),為了便於理解,這里用公式:=VLOOKUP(F2,A2:D20,2,0)對照說明,第一個參數是要在表格或區域的第一列中搜索的值,如公式中的F2,參數可以是值或引用。
-
第二參數是包含數據的單元格區域(A2:D20),數據可以是文本、數字或邏輯值,字母不區分大小寫,就是查找F2單元格中的數據位於A2:A20的哪一行,如下圖中查找到F2位於工作表的第8行。
-
第三參數是指定返回匹配值的列號, 參數為 1 時,返回區域中第一列中的值,參數為 2 時,返回第二列中的值,依此類推,如公式:=VLOOKUP(F2,A2:D20,2,0)的第三參數為2,就是返回A2:D20中第二列,也就是B列中某行的值,如果改成3,就是返回C列中某行的值。
-
第四參數是邏輯值TRUE或FALSE,常寫成1或0,如果為TRUE或被省略,則返回精確匹配值或近似匹配值,如果找不到精確匹配值,則返回小於搜索值的最大值,為TRUE或被省略,區域中的首列必須按升序排列。如果為FALSE,則首列中的值無須排序,只查找精確匹配值。上面公式中的0,就是指的精確查找,必須返回本人的成績。
-
在使用公式時,為了填充方便,常常對公式中的引用加絕對引用符$限定行或列,達到填充時引用行不變、列不變或行列均不變的目的。如上面的公式,為了保證下拉時引用區域的行不變,就要對行號加以限定,但F2的行號不能限定,因為向下填充時,行號是不斷變化的,G2公式為:=VLOOKUP(F2,A$2:D$20,2,0)
-
為了向右填充,還必須限定列標:=VLOOKUP($F2,$A$2:$D$20,2,0)
-
但此時發現,直接向右填充時,返回的數據不對,因為返回的列序號沒有跟隨改變,始終返回的第2列數據,所以,還必須將返回列序號也跟隨改變才能達到僅使用一個公式就能滿足填充要求,這里使用列標函數COLUMN配合:=VLOOKUP($F2,$A$2:$D$20,COLUMN(B:B),0)
-
如果列表區域中無其它數據,則引用時,可直接引用整列,不必帶入行號:=VLOOKUP($F2,$A:$D,COLUMN(B:B),0),公式看上去簡短些且不容易出錯。