纵向查找函数VLOOKUP,与LOOKUP函数和HLOOKUP函数属于一类函数,VLOOKUP是按列查找的,HLOOKUP是按行查找的。
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP代替函数 HLOOKUP。
语法结构
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
①Lookup_value为“需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。
如下图所示,C3单元格即为lookup_value
②Table_array为“需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。
如果range_lookup为TRUE或省略,则table_array的第一列中的数值必须按升序排列,否则,函数VLOOKUP不能返回正确的数值。如果range_lookup为FALSE,table_array不必进行排序。
Table_array的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
如下图所示:C6:F10
③Col_index_num为table_array中待返回的匹配值的列序号。
Col_index_num为1时,返回table_array第一列中的数值;
Col_index_num为2时,返回table_array第二列中的数值,以此类推。
如果Col_index_num小于1,函数VLOOKUP返回错误值#VALUE!;
如果Col_index_num大于table_array的列数,函数VLOOKUP返回错误值#REF!。
如下图所示,4表示数据表的第4列。
④Range_lookup为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。
如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A。
假如让你在数万条记录的表格中查找给定编号的某个人,假如编号已按由小到大的顺序排序,你会很轻松地找到这个人;假如编号没有排序,你只好从上到下一条一条地查找,很费事。
用VLOOKUP查找数据也是这样,当第一列已排序,第四个参数用TRUE(或确省),Excel会很轻松地找到数据,效率较高。当第一列没有排序,第四个参数用FALSE,Excel会从上到下一条一条地查找,效率较低。
通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。为了方便起见,一般选用 FALSE,即表格不必要再按升序又排列一次。
如下图所示,FALSE 即为 range_lookup 表示第一列的数值不必进行排序。