黃嘉
(湖南鐵道職業(yè)技術(shù)學(xué)院,湖南 株洲 412001)
在進行Excel 數(shù)據(jù)查找時,大部分非專業(yè)人士會使用最原始的手工方法依次對應(yīng)查找,工作效率低且容易出錯。VLOOKUP 函數(shù)是Excel 軟件中的王牌查找函數(shù),意思是“垂直查找”。VLOOKUP 函數(shù)主要功能是在Excel表中按列查找【1】。在Excel數(shù)據(jù)表里查找數(shù)據(jù)時,如果數(shù)據(jù)表的面積非常大,要查找的數(shù)據(jù)特別多,列數(shù)多,行數(shù)多,可以利用VLOOKUP 函數(shù)進行快速查找數(shù)據(jù)。先理解VLOOKUP函數(shù)參數(shù)對話框中參數(shù)填寫,然后借助成績查找的案例,說明多列批量查找和多列動態(tài)查找的區(qū)別,弄清楚單列查找和多列查找的具體操作方法。
圖1 方陣,相當于單元格區(qū)域。黑色圓是待檢索對象。
圖1 方陣
圖2 VLOOKUP函數(shù)參數(shù)對話框,參數(shù)解釋如下:
圖2 VLOOKUP函數(shù)參數(shù)對話框
第1 個參數(shù)Lookup_value,為首列滿足條件的元素,即第一列中查找的對象,在第1列里找什么,例如,圖1第一列中灰色圓。
第2個參數(shù)Table_array,為在哪個區(qū)域里找。
第3個參數(shù)Col_index_num,為待檢索對象的列序號,即查找數(shù)據(jù)的數(shù)據(jù)列序號,例如,圖1黑色圓的列序號。在第一列里找到灰色圓以后,然后去找灰色圓所在行的第幾列,所以在這個參數(shù)當中要填寫第幾列。黑色圓在第5列,要找第5列,所以第3個參數(shù)當中就填寫“5”。
最后一個參數(shù)Range_lookup,指明查找時是精確查找還是模糊查找。
使用VLOOKUP 函數(shù)進行單列查找,如圖3所示。在表1 學(xué)生成績表中查找學(xué)號202210001、202210008、202210011 學(xué)生的信息技術(shù)成績,在表2中填入查找結(jié)果。
圖3 單列查找
首先查找學(xué)號202210001 學(xué)生的信息技術(shù)成績。對于新手強烈建議在函數(shù)參數(shù)對話框里填寫。在表2中單擊I3單元格,單擊fx插入函數(shù),搜索VLOOKUP函數(shù),選擇VLOOKUP 函數(shù),在VLOOKUP 函數(shù)參數(shù)對話框中填寫函數(shù)參數(shù),4個參數(shù)填寫如圖4所示。第1個參數(shù)是表1第1列中查找對象“202210001”,鼠標選擇“H3”單元格,H3單元格的內(nèi)容是“202210001”。單元格地址H3 是相對引用。單元格地址H3 有兩部分組成:字母H表示列號,數(shù)字3表示行號。當向下復(fù)制填充函數(shù),單元格地址的行號遞增。例如從I3單元格復(fù)制填充函數(shù)到I4 單元格,這個參數(shù)將自動從H3 變?yōu)镠4。第2個參數(shù)填查找區(qū)域,查找區(qū)域是表1的Excel表格數(shù)據(jù)區(qū)域“A3:F14”,鼠標選擇“A3:F14”。鼠標選中“A3:F14”,同時按Fn鍵和F4鍵,在列號和行號前加$符號,使用絕對引用鎖定查找區(qū)域,第2 個參數(shù)是“$A$3:$F$14”。當復(fù)制填充函數(shù)的時候第2 個參數(shù)不變。
圖4 VLOOKUP函數(shù)參數(shù)填寫
VLOOKUP 函數(shù)第2 個參數(shù)使用了絕對引用。單元格地址有兩部分組成:字母部分表示列號,數(shù)字部分表示行號。$符號表示絕對引用,字母前面加$表示絕對引用列,數(shù)字前加$表示絕對引用行,2個都加$即表示絕對引用該單元格【2】,例如$A$3表示總是在指定位置引用單元格A3。單元格區(qū)域的絕對引用,例如$A$3:$F$14 表示總是在指定位置引用單元格區(qū)域A3:F14。如果函數(shù)所在單元格的位置改變,絕對引用的單元格區(qū)域始終保持不變。如果多行或多列地復(fù)制函數(shù),絕對引用將不作調(diào)整。例如,將單元格I3 中的絕對引用復(fù)制到單元格I4,則在兩個單元格中一樣,都是“$A$3:$F$14”。
VLOOKUP 函數(shù)第1 個參數(shù)使用了相對引用。函數(shù)中的相對單元格引用(例如VLOOKUP 函數(shù)第1 個參數(shù)H3)是基于包含函數(shù)和單元格引用的單元格的相對位置。如果函數(shù)所在單元格的位置改變,引用也隨之改變。如果多行或多列地復(fù)制函數(shù),引用會自動調(diào)整【3】。默認情況下,新函數(shù)使用相對引用。在某一列中向下復(fù)制填充函數(shù),相對引用單元格地址的行號遞增,相對引用單元格地址的列號不變。例如,將單元格I3 中VLOOKUP 函數(shù)的相對引用H3 復(fù)制到單元格I4,VLOOKUP 函數(shù)第1 個參數(shù)將自動從H3 調(diào)整到H4。
第3 個參數(shù)填查找數(shù)據(jù)的數(shù)據(jù)列序號,信息技術(shù)成績的在表1 的列序號是“6”,所以第3 個參數(shù)填寫“6”。第4個參數(shù),指明是精確查找還是模糊查找。如果需要精確查找,也就是要精確匹配學(xué)號202210001學(xué)生的信息技術(shù)成績,就在第4 個參數(shù)填“FALSE”或者“0”。如果是模糊查找,就在第4 個參數(shù)填上“TRUE”或者“1”或者省略。一般情況下,是精確查找,第4 個參數(shù)填上“0”。這樣就查找到了學(xué)號202210001 學(xué)生的信息技術(shù)成績:85。鼠標移向I3 單元格的右下角,鼠標指針變成+字形時,按住鼠標左鍵垂直往下拖動鼠標,拖到I5 單元格時松開鼠標左鍵,復(fù)制填充VLOOKUP 函數(shù),查找到學(xué)號202210008、202210011學(xué)生的信息技術(shù)成績。
多列查找分為多列批量查找和多列動態(tài)查找。
使用VLOOKUP 函數(shù)進行多列批量查找,如圖5所示:在表1 學(xué)生成績表中查找學(xué)號202210001、202210008、202210011 學(xué)生的姓名、英語、數(shù)學(xué)、就業(yè)指導(dǎo)、信息技術(shù)成績,在表2中填入查找結(jié)果。
圖5 多列批量查找
多列批量查找的特點:查找結(jié)果的列名順序和查找區(qū)域的列名順序相同。例如,查找結(jié)果表2的列名順序是學(xué)號、姓名、英語、數(shù)學(xué)、就業(yè)指導(dǎo)、信息技術(shù)成績,查找區(qū)域表1的列名順序也是學(xué)號、姓名、英語、數(shù)學(xué)、就業(yè)指導(dǎo)、信息技術(shù)成績。使用VLOOKUP函數(shù)多列批量查找可以結(jié)合COLUMN函數(shù)的使用。
首先查找學(xué)號202210001學(xué)生的姓名。在表2中單擊I3 單元格,在VLOOKUP 函數(shù)參數(shù)對話框中填寫函數(shù)參數(shù),參數(shù)填寫如圖6所示。第1個參數(shù)是第1列中查找對象“202210001”,第1 個參數(shù)填“H3”。為了向右水平復(fù)制填充函數(shù)的時候,第1個參數(shù)的單元格地址固定在H列,絕對引用列:H前面加$符號。為了向下復(fù)制填充函數(shù)的時候,第1個參數(shù)的單元格地址的行號遞增,相對引用行。所以第1個參數(shù)是“$H3“。第2個參數(shù)填在哪個區(qū)域里找,填“$A$3:$F$14”。
圖6 VLOOKUP函數(shù)參數(shù)填寫
第3 個參數(shù)填查找數(shù)據(jù)的數(shù)據(jù)列序號,表1 中姓名(B2 單元格)的列序號是“COLUMN(B2)”。COLUMN(B2)函數(shù)返回B2單元格的列序號“2”。第3個參數(shù)用COLUMN(B2)表示,其目的是后面從I3 單元格水平拖動鼠標復(fù)制填充VLOOKUP函數(shù)到J3單元格、K3單元格、L3 單元格、M3 單元格時,第3 個參數(shù)對應(yīng)變?yōu)椤癈OLUMN(C2)、COLUMN(D2)、COLUMN(E2)、COLUMN(F2)”,對應(yīng)英語(C2 單元格)、數(shù)學(xué)(D2 單元格)、就業(yè)指導(dǎo)(E2 單元格)、信息技術(shù)(F2 單元格)的列序號“3”“4”“5”“6”。
第4個參數(shù)填上“0”,精確查找。這樣就查找到了學(xué)號202210001學(xué)生的姓名:張三。
鼠標移向I3單元格的右下角,鼠標指針變成+字形時,按住鼠標左鍵向右水平拖動鼠標,拖動到M3單元格時松開鼠標左鍵,復(fù)制填充VLOOKUP函數(shù),查找到學(xué)號202210001 學(xué)生的英語、數(shù)學(xué)、就業(yè)指導(dǎo)、信息技術(shù)成績分別是:78、89、84、85。鼠標選中區(qū)域I3:M3,鼠標移向M3 單元格的右下角,鼠標指針變成+字形時,按住鼠標左鍵垂直往下拖動鼠標,拖動到M5單元格時松開鼠標左鍵,復(fù)制填充VLOOKUP函數(shù),完成查找。
使用VLOOKUP 函數(shù)進行多列動態(tài)查找,如圖7所示:在表1 學(xué)生成績表中查找學(xué)號202210001、202210008、202210011 學(xué)生的姓名、信息技術(shù)、數(shù)學(xué)、英語、就業(yè)指導(dǎo)成績,在表2中填入查找結(jié)果。
圖7 多列動態(tài)查找
多列動態(tài)查找的特點:查找結(jié)果的列名順序和查找區(qū)域的列名順序不同。例如,查找結(jié)果表2的列名順序是學(xué)號、姓名、信息技術(shù)、數(shù)學(xué)、英語、就業(yè)指導(dǎo)成績,查找區(qū)域表1 的列名順序是學(xué)號、姓名、英語、數(shù)學(xué)、就業(yè)指導(dǎo)、信息技術(shù)成績。使用VLOOKUP函數(shù)多列動態(tài)查找可以結(jié)合MATCH函數(shù)的使用,MATCH函數(shù)返回指定數(shù)值在指定數(shù)組區(qū)域中的位置【4】。
首先查找學(xué)號202210001學(xué)生的姓名。在表2中單擊I3 單元格,在VLOOKUP 函數(shù)參數(shù)對話框中填寫函數(shù)參數(shù),參數(shù)填寫如圖8所示。第1個參數(shù)是第1列中查找對象“202210001”,第1 個參數(shù)填“$H3“。第2個參數(shù)填在哪個區(qū)域里找,填“$A$3:$F$14”。
圖8 VLOOKUP函數(shù)參數(shù)填寫
第3 個參數(shù)填查找數(shù)據(jù)的數(shù)據(jù)列序號,第3 個參數(shù)填寫“MATCH(I$2,$A$2:$F$2,0)”。MATCH(I$2,$A$2:$F$2,0)函數(shù)返回I2單元格”姓名”在A2:F2區(qū)域的相對位置“2”。
第3 個參數(shù)用MATCH 函數(shù)表示,其目的是為了從I3 單元格水平拖動鼠標復(fù)制填充VLOOKUP 函數(shù)到J3 單元格、K3 單元格、L3 單元格、M3 單元格時,VLOOKUP第3個參數(shù)對應(yīng)變?yōu)椤癕ATCH(J$2,$A$2:$F$2,0)、MATCH(K$2,$A$2:$F$2,0)、MATCH(L$2,$A$2:$F$2,0)、MATCH(M$2,$A$2:$F$2,0)”,對應(yīng)信息技術(shù)(J2單元格)、數(shù)學(xué)(K2單元格)、英語(L2單元格)和就業(yè)指導(dǎo)(M2 單元格)在A2:F2 區(qū)域的相對位置“6”“4”“3”“5”。為了向下垂直復(fù)制填充函數(shù)的時候,MATCH函數(shù)第1個參數(shù)不變,絕對引用行:I$2的2前面加$符號。MATCH 函數(shù)第3 個參數(shù)“0”,表示精確匹配。
VLOOKUP 函數(shù)第4 個參數(shù)填上“0”,精確查找。這樣就查找到了學(xué)號202210001學(xué)生的姓名:張三。
鼠標移向I3單元格的右下角,鼠標指針變成+字形時,按住鼠標左鍵向右水平拖動鼠標,拖動到M3單元格時松開鼠標左鍵,復(fù)制填充VLOOKUP函數(shù),查找到學(xué)號202210001學(xué)生的姓名、信息技術(shù)、數(shù)學(xué)、英語、就業(yè)指導(dǎo)成績分別是:85、89、78、84。鼠標選中區(qū)域I3:M3,鼠標移向M3 單元格的右下角,鼠標指針變成+字形時,按住鼠標左鍵垂直往下拖動鼠標,拖動到M5 單元格時松開鼠標左鍵,復(fù)制填充VLOOKUP 函數(shù),完成查找。
此文說明的僅僅是VLOOKUP 函數(shù)的單列查找、VLOOKUP 函數(shù)與COLUMN 函數(shù)結(jié)合應(yīng)用的多列批量查找、VLOOKUP函數(shù)與MATCH函數(shù)結(jié)合應(yīng)用的多列動態(tài)查找,VLOOKUP 函數(shù)還有許多用法,例如VLOOKUP 函數(shù)與IF函數(shù)結(jié)合應(yīng)用查詢[5]、VLOOKUP函數(shù)“一對多”查詢[6]以及VLOOKUP 函數(shù)跨多表查詢[7]等。