黄嘉
(湖南铁道职业技术学院,湖南 株洲 412001)
在进行Excel 数据查找时,大部分非专业人士会使用最原始的手工方法依次对应查找,工作效率低且容易出错。VLOOKUP 函数是Excel 软件中的王牌查找函数,意思是“垂直查找”。VLOOKUP 函数主要功能是在Excel表中按列查找【1】。在Excel数据表里查找数据时,如果数据表的面积非常大,要查找的数据特别多,列数多,行数多,可以利用VLOOKUP 函数进行快速查找数据。先理解VLOOKUP函数参数对话框中参数填写,然后借助成绩查找的案例,说明多列批量查找和多列动态查找的区别,弄清楚单列查找和多列查找的具体操作方法。
图1 方阵,相当于单元格区域。黑色圆是待检索对象。
图1 方阵
图2 VLOOKUP函数参数对话框,参数解释如下:
图2 VLOOKUP函数参数对话框
第1 个参数Lookup_value,为首列满足条件的元素,即第一列中查找的对象,在第1列里找什么,例如,图1第一列中灰色圆。
第2个参数Table_array,为在哪个区域里找。
第3个参数Col_index_num,为待检索对象的列序号,即查找数据的数据列序号,例如,图1黑色圆的列序号。在第一列里找到灰色圆以后,然后去找灰色圆所在行的第几列,所以在这个参数当中要填写第几列。黑色圆在第5列,要找第5列,所以第3个参数当中就填写“5”。
最后一个参数Range_lookup,指明查找时是精确查找还是模糊查找。
使用VLOOKUP 函数进行单列查找,如图3所示。在表1 学生成绩表中查找学号202210001、202210008、202210011 学生的信息技术成绩,在表2中填入查找结果。
图3 单列查找
首先查找学号202210001 学生的信息技术成绩。对于新手强烈建议在函数参数对话框里填写。在表2中单击I3单元格,单击fx插入函数,搜索VLOOKUP函数,选择VLOOKUP 函数,在VLOOKUP 函数参数对话框中填写函数参数,4个参数填写如图4所示。第1个参数是表1第1列中查找对象“202210001”,鼠标选择“H3”单元格,H3单元格的内容是“202210001”。单元格地址H3 是相对引用。单元格地址H3 有两部分组成:字母H表示列号,数字3表示行号。当向下复制填充函数,单元格地址的行号递增。例如从I3单元格复制填充函数到I4 单元格,这个参数将自动从H3 变为H4。第2个参数填查找区域,查找区域是表1的Excel表格数据区域“A3:F14”,鼠标选择“A3:F14”。鼠标选中“A3:F14”,同时按Fn键和F4键,在列号和行号前加$符号,使用绝对引用锁定查找区域,第2 个参数是“$A$3:$F$14”。当复制填充函数的时候第2 个参数不变。
图4 VLOOKUP函数参数填写
VLOOKUP 函数第2 个参数使用了绝对引用。单元格地址有两部分组成:字母部分表示列号,数字部分表示行号。$符号表示绝对引用,字母前面加$表示绝对引用列,数字前加$表示绝对引用行,2个都加$即表示绝对引用该单元格【2】,例如$A$3表示总是在指定位置引用单元格A3。单元格区域的绝对引用,例如$A$3:$F$14 表示总是在指定位置引用单元格区域A3:F14。如果函数所在单元格的位置改变,绝对引用的单元格区域始终保持不变。如果多行或多列地复制函数,绝对引用将不作调整。例如,将单元格I3 中的绝对引用复制到单元格I4,则在两个单元格中一样,都是“$A$3:$F$14”。
VLOOKUP 函数第1 个参数使用了相对引用。函数中的相对单元格引用(例如VLOOKUP 函数第1 个参数H3)是基于包含函数和单元格引用的单元格的相对位置。如果函数所在单元格的位置改变,引用也随之改变。如果多行或多列地复制函数,引用会自动调整【3】。默认情况下,新函数使用相对引用。在某一列中向下复制填充函数,相对引用单元格地址的行号递增,相对引用单元格地址的列号不变。例如,将单元格I3 中VLOOKUP 函数的相对引用H3 复制到单元格I4,VLOOKUP 函数第1 个参数将自动从H3 调整到H4。
第3 个参数填查找数据的数据列序号,信息技术成绩的在表1 的列序号是“6”,所以第3 个参数填写“6”。第4个参数,指明是精确查找还是模糊查找。如果需要精确查找,也就是要精确匹配学号202210001学生的信息技术成绩,就在第4 个参数填“FALSE”或者“0”。如果是模糊查找,就在第4 个参数填上“TRUE”或者“1”或者省略。一般情况下,是精确查找,第4 个参数填上“0”。这样就查找到了学号202210001 学生的信息技术成绩:85。鼠标移向I3 单元格的右下角,鼠标指针变成+字形时,按住鼠标左键垂直往下拖动鼠标,拖到I5 单元格时松开鼠标左键,复制填充VLOOKUP 函数,查找到学号202210008、202210011学生的信息技术成绩。
多列查找分为多列批量查找和多列动态查找。
使用VLOOKUP 函数进行多列批量查找,如图5所示:在表1 学生成绩表中查找学号202210001、202210008、202210011 学生的姓名、英语、数学、就业指导、信息技术成绩,在表2中填入查找结果。
图5 多列批量查找
多列批量查找的特点:查找结果的列名顺序和查找区域的列名顺序相同。例如,查找结果表2的列名顺序是学号、姓名、英语、数学、就业指导、信息技术成绩,查找区域表1的列名顺序也是学号、姓名、英语、数学、就业指导、信息技术成绩。使用VLOOKUP函数多列批量查找可以结合COLUMN函数的使用。
首先查找学号202210001学生的姓名。在表2中单击I3 单元格,在VLOOKUP 函数参数对话框中填写函数参数,参数填写如图6所示。第1个参数是第1列中查找对象“202210001”,第1 个参数填“H3”。为了向右水平复制填充函数的时候,第1个参数的单元格地址固定在H列,绝对引用列:H前面加$符号。为了向下复制填充函数的时候,第1个参数的单元格地址的行号递增,相对引用行。所以第1个参数是“$H3“。第2个参数填在哪个区域里找,填“$A$3:$F$14”。
图6 VLOOKUP函数参数填写
第3 个参数填查找数据的数据列序号,表1 中姓名(B2 单元格)的列序号是“COLUMN(B2)”。COLUMN(B2)函数返回B2单元格的列序号“2”。第3个参数用COLUMN(B2)表示,其目的是后面从I3 单元格水平拖动鼠标复制填充VLOOKUP函数到J3单元格、K3单元格、L3 单元格、M3 单元格时,第3 个参数对应变为“COLUMN(C2)、COLUMN(D2)、COLUMN(E2)、COLUMN(F2)”,对应英语(C2 单元格)、数学(D2 单元格)、就业指导(E2 单元格)、信息技术(F2 单元格)的列序号“3”“4”“5”“6”。
第4个参数填上“0”,精确查找。这样就查找到了学号202210001学生的姓名:张三。
鼠标移向I3单元格的右下角,鼠标指针变成+字形时,按住鼠标左键向右水平拖动鼠标,拖动到M3单元格时松开鼠标左键,复制填充VLOOKUP函数,查找到学号202210001 学生的英语、数学、就业指导、信息技术成绩分别是:78、89、84、85。鼠标选中区域I3:M3,鼠标移向M3 单元格的右下角,鼠标指针变成+字形时,按住鼠标左键垂直往下拖动鼠标,拖动到M5单元格时松开鼠标左键,复制填充VLOOKUP函数,完成查找。
使用VLOOKUP 函数进行多列动态查找,如图7所示:在表1 学生成绩表中查找学号202210001、202210008、202210011 学生的姓名、信息技术、数学、英语、就业指导成绩,在表2中填入查找结果。
图7 多列动态查找
多列动态查找的特点:查找结果的列名顺序和查找区域的列名顺序不同。例如,查找结果表2的列名顺序是学号、姓名、信息技术、数学、英语、就业指导成绩,查找区域表1 的列名顺序是学号、姓名、英语、数学、就业指导、信息技术成绩。使用VLOOKUP函数多列动态查找可以结合MATCH函数的使用,MATCH函数返回指定数值在指定数组区域中的位置【4】。
首先查找学号202210001学生的姓名。在表2中单击I3 单元格,在VLOOKUP 函数参数对话框中填写函数参数,参数填写如图8所示。第1个参数是第1列中查找对象“202210001”,第1 个参数填“$H3“。第2个参数填在哪个区域里找,填“$A$3:$F$14”。
图8 VLOOKUP函数参数填写
第3 个参数填查找数据的数据列序号,第3 个参数填写“MATCH(I$2,$A$2:$F$2,0)”。MATCH(I$2,$A$2:$F$2,0)函数返回I2单元格”姓名”在A2:F2区域的相对位置“2”。
第3 个参数用MATCH 函数表示,其目的是为了从I3 单元格水平拖动鼠标复制填充VLOOKUP 函数到J3 单元格、K3 单元格、L3 单元格、M3 单元格时,VLOOKUP第3个参数对应变为“MATCH(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)”,对应信息技术(J2单元格)、数学(K2单元格)、英语(L2单元格)和就业指导(M2 单元格)在A2:F2 区域的相对位置“6”“4”“3”“5”。为了向下垂直复制填充函数的时候,MATCH函数第1个参数不变,绝对引用行:I$2的2前面加$符号。MATCH 函数第3 个参数“0”,表示精确匹配。
VLOOKUP 函数第4 个参数填上“0”,精确查找。这样就查找到了学号202210001学生的姓名:张三。
鼠标移向I3单元格的右下角,鼠标指针变成+字形时,按住鼠标左键向右水平拖动鼠标,拖动到M3单元格时松开鼠标左键,复制填充VLOOKUP函数,查找到学号202210001学生的姓名、信息技术、数学、英语、就业指导成绩分别是:85、89、78、84。鼠标选中区域I3:M3,鼠标移向M3 单元格的右下角,鼠标指针变成+字形时,按住鼠标左键垂直往下拖动鼠标,拖动到M5 单元格时松开鼠标左键,复制填充VLOOKUP 函数,完成查找。
此文说明的仅仅是VLOOKUP 函数的单列查找、VLOOKUP 函数与COLUMN 函数结合应用的多列批量查找、VLOOKUP函数与MATCH函数结合应用的多列动态查找,VLOOKUP 函数还有许多用法,例如VLOOKUP 函数与IF函数结合应用查询[5]、VLOOKUP函数“一对多”查询[6]以及VLOOKUP 函数跨多表查询[7]等。