Ø 语法结构
=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
lookup_value:为需要在数组第一列中查找的数值。Lookup_value可以为数值、引用或文本字符串。
table_array:为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表;
n 如果range_lookup为TRUE,则table_array的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数VLOOKUP不能返回正确的数值。如果range_lookup为FALSE,table_array不必进行排序;
n 通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列;
n Table_array的第一列中的数值可以为文本、数字或逻辑值;
n 文本不区分大小写;
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!;
[range_lookup]:为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A。
· 如果函数VLOOKUP找不到lookup_value,且range_lookup为TRUE,则使用小于等于lookup_value的最大值。
· 如果lookup_value小于table_array第一列中的最小数值,函数VLOOKUP返回错误值#N/A。
· 如果函数VLOOKUP找不到lookup_value且range_lookup为FALSE,函数VLOOKUP返回错误值#N/A。
Ø 函数功能
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP。
在VLOOKUP中的V代表垂直。
Ø 函数实例
举例1:要求根据表2中的医院级别,查找对应的起付线值。
如上图所示:C9=VLOOKUP(B9,$A$3:$B$5,2,FALSE)
1)参数说明:
B9为查找目标,即需要在表1的A列中查找与B9相同的值。
$A$3:$B$5:为查找区域,实际操作中,可以直接选中A3至B5的区域,此时表达式为A3:B5,选中此表达式,使用快捷键F4,将其更正为绝对引用,即$A$3:$B$5。
2:为返回值的列数,即我们需要返回相应的起付线值,此数据在表1查找区域的第二列。
FALSE:表示精确查找。
2)在上图中,C11返回错误值:#N/A,下图:
C11=VLOOKUP(B11,$A$3:$B$5,2,FALSE)
上述公式,表示需要精确查找,而查找区域中,无“省三级”这个级别,即未查询到对应的结果,则返回错误值:#N/A。
3)上图中,C12返回了一个数值,我们可以发现,在查找区域的A列,也并不存在“市三级”这个医院级别,此时,可以使用模糊查询,如下图:
C12=VLOOKUP(B12,$A$3:$B$5,2)
可以看出,最后一个参数值,省略了,此时就表示为模糊查询,返回了医院级别为“三级”对应的起付线数值。