EXCEL最重要最常用函数之VLOOKUP与HLOOKUP
关于VLOOKUP函数,可以说是excel函数公式中最为重要、最常用的函数了,HLOOKUP函数和VLOOKUP函数是一类的函数,具体区别在于VLOOKUP函数是纵向查找函数,HLOOKUP函数是横向查找函数。
今天就让我们来一起学习这两个函数把!
1、VLOOKUP
函数定义
按照垂直方向搜索区域。
官方说明
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值.当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP。
解赋大白话
指定条件在指定区域直方向查找。
使用格式
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
解赋白话格式
VLOOKUP(要查找的内容,搜索的区域,从查找区域首列开始到要找的内容的列数,指定是近似匹配还是精确匹配查找方式)
参数定义
Lookup_value:
为需要在数组第一列中查找的数值.Lookup_value可以为数值、引用或文本字符串。
Table_array:
为需要在其中查找数据的数据表.可以使用对区域或区域名称的引用,例如数据库或列表。
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。
要点
如果range_lookup为TRUE,则table_array的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数VLOOKUP不能返回正确的数值.如果range_lookup为FALSE,table_array不必进行排序。
注意事项
1.Table_array的第一列中的数值可以为文本、数字或逻辑值.
2.文本不区分大小写.
3.如果函数VLOOKUP找不到lookup_value,且range_lookup为TRUE,则使用小于等于lookup_value的最大值.
4.如果lookup_value小于table_array第一列中的最小数值,函数VLOOKUP返回错误值#N/A.
5.如果函数VLOOKUP找不到lookup_value且range_lookup为FALSE,函数VLOOKUP返回错误值#N/A.
6.若有多个符合条件的情况:vlookup返回的是第一个满足条件的值,lookup返回的是最后一个满足条件的值
函数应用实例
精确查找是vlookup最基本也是最常用的功能,对于数据量大的查找,其速度比菜单中的查找还快.设置vlookup第四个参数为false或0,即为精确查找。
精确查找适用于文本,也适用于数值;但对数值查找时须注意格式一致,否则会出错。
注:因为"0"输入速度快,不易输错,本函数宝典里的此类公式精确搜索都是以"0"代替"false"。
经典用法
例1:
例2:
2、HLOOKUP
函数定义
按照水平方向搜索区域。
官方说明
在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值.当比较值位于数据表的首行,并且要查找下面给定行中的数据时,请使用函数 HLOOKUP.当比较值位于要查找的数据左边的一列时,请使用函数 VLOOKUP。
解赋大白话
指定条件在指定区域横方向查找。
使用格式
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
解赋白话格式
HLOOKUP((要查找的内容,搜索的区域,从查找区域首行开始到要找的内容的行数,指定是近似匹配还是精确匹配查找方式)
参数定义
要点
如果range_lookup为TRUE,则table_array的第一行的数值必须按升序排列:……-2、-1、0、1、2、……、A-Z、FALSE、TRUE;否则,函数HLOOKUP将不能给出正确的数值.如果range_lookup为FALSE,则table_array不必进行排序。
注意事项
1.文本不区分大小写。
2.如果函数HLOOKUP小于table_array第一行中的最小数值,函数HLOOKUP返回错误值#N/A!。
3.如果函数HLOOKUP找不到lookup_value,且range_lookup为TRUE,则使用小于lookup_value的最大值。
经典用法
查找内容:员工编号
查找区域:C18:E19
2:查找区域开始第2行
0:精确查找