只会VLOOKUP还不够,这些函数都挺牛!
说起Excel中的数据查询,VLOOKUP可真是大名鼎鼎。这年头,做表格的人要是没听说VLOOKUP,喝酸奶都不好意思舔瓶盖。VLOOKUP函数果真所向披靡吗?今天就和大家一起说说Excel中的数据查询那些事儿。
先说说VLOOKUP,作用嘛,就是能够实现从左到右的数据查询。
用法是:
VLOOKUP(要找谁,在哪个区域找,返回第几列的内容,精确匹配还是近似匹配)
先从查询区域最左侧列中找到查询值,然后返回同一行中对应的其他列的内容。
例如下图中,要根据E3单元格中的领导,在B~C列的对照表中查找与之对应的秘书姓名。
F3单元格公式为:
=VLOOKUP(E3,B2:C8,2,0)
公式中,“E3”是要查找的内容。
“B2:C8”是查找的区域,在这个区域中,最左侧列要包含待查询的内容。
“2”是要返回查找区域中第2列的内容,注意这里不是指工作表中的第2列。
“0”是使用精确匹配的方式来查找。
01 VLOOKUP函数基础语法
先来看下VLOOKUP的最基础用法,为了方便大家理解,做成了图片。
总共只有4个参数,分别是:用谁去找、匹配对象范围、返回第几列、匹配方式(0表示精确匹配,1表示模糊匹配)。
然而学会了基础语法,就会VLOOKUP了么?NO,对大部分同学来说,VLOOKUP只会最基础的查找方式,碰上了返回多列、多条件、反向位置的就一脸懵逼了,可以继续往下面看VLOOKUP的4中查询方式。
02 4种查询方式
vlookup是Excel中的效率之王,是每个Excel使用者都会使用到的一个函数,先来分享下vlookup的几个用法,由浅入深。
2.1 基础单条件查找
VLOOKUP的基础单条件用法是简单的一种用法,使用单个检索关键字,并且检索关键字在选择区域的第1列,直接使用普通公示就可以解决。
总结一下,基础查询公式的用法:
=VLOOKUP(用谁找,去哪里找,找到了返回什么,怎么着)
2.2 反向查找
反向查找跟普通的VLOOKUP查找存在什么差异,我们都知道检索关键字必须在查找区域的第1列,反向查找的检索关键字不在查找区域的第1列,可以使用虚拟数组公式IF来做一个调换。
总结一下,反向查找的固定公式用法:
=VLOOKUP(检索关键字,IF({1,0},检索关键字所在列,查找值所在列),2,0)
注意事项,所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。
2.3 多条件查询
在使用VLOOKUP匹配数据的时候,往往条件不是单一的,是由多个一起组成的,那么也可以利用&将字段拼接起来,并且利用IF数组公式构建出一个虚拟的区域。
总结一下,多条件查找的固定公式用法:
=VLOOKUP(关键字1&关键字2,IF({1,0},序列1&序列2,查找值所在列),2,0)
注意事项,所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。
2.4 查询返回多列
查询返回一列的情况很容易就能完成,如果是返回多列呢?这个时候就要借助另外一个辅助函数——column函数,有关column函数的简介可以看下:
COLUMN返回的结果为单元格引用的列数,例如:column(B1)返回值为2,因为B1为第2列。
总结一下,返回多列的固定公式用法:
=VLOOKUP(混合引用关键字,查找范围,COLUMN(xx),0)
返回第几列就开始引用第几列的单元格即可
VLOOKUP函数也有它的局限性,如果VLOOKUP函数中链接到其他工作薄,发送表格给别人时,如果不同时把链接文件发过去,数据有可能出现问题,还有查找时除了数值一样,必须格式一样,如果一个是数字型,一个是文本型,则VLOOKUP函数也会找不到相应值,有些字符是隐藏字符(非打印字符),加上CLEAN函数清除隐藏的字符才能匹配成功,vlookup查找不到时会出现#N/A的错误代码,如果要对包含这些错误代码的单元格区域求和时,返回值将为零,如果你想操作简单有效,不如用本站的
艾敦制表神器插件的查找合并数据,插件下载地址:https://www.aidunsoft.com/down/show-74.html 点击下载
这些问题都可轻松解决,也不用去拖公式,计算区域序号了,插件中的查找合并功能示例 点击查看动画示例
假如表格的结构比较特殊,VLOOKUP函数就傻眼了。像下图中,要根据A7单元格中的领导,在2~3行的对照表中查找与之对应的秘书姓名。
B7单元格公式为:
=HLOOKUP(A7,2:3,2,0)
HLOOKUP函数是VLOOKUP异父异母的亲弟弟,作用嘛,就是能够实现从上到下的数据查询。
用法是:
HLOOKUP(要找谁,在哪个区域找,返回第几行的内容,精确匹配还是近似匹配)
先从查询区域第一行中找到查询值,然后返回同一列中对应的其他行的内容。
公式中,“A7”是要查找的内容。
“2:3”是查找的区域,不要被数字迷惑了,这种写法就是第二到第三行的整行引用而已。
在这个区域中,第一行要包含待查询的内容。
“2”是要返回查找区域中第2行的内容,注意这里不是指工作表中的第2行。
“0”是使用精确匹配的方式来查找。
假如表格的结构再特殊点,VLOOKUP和HLOOKUP函数就都傻眼了。
像下图中,要根据E3单元格中的秘书,在B~C列的对照表中查找与之对应的领导姓名。
F3单元格公式为:
=LOOKUP(1,0/(C3:C8=E3),B3:B8)
LOOKUP函数是VLOOKUP异父异母的亲妹妹,本例中的作用嘛,是在指定的行或列中查询指定的内容,并返回另一个范围中对应位置的值。
常见用法是:
LOOKUP(要找谁,在哪行或哪列找,要返回结果的行或列)
公式中,“1”是要查找的内容。
“0/(C3:C8=E3)”是查找的区域,不要被这段公式迷惑了,这种写法是模式化的,就是0/(条件区域=查找值)。
先使用等号,将条件区域的内容与查找值进行逐一对比,返回逻辑值TRUE或是FALSE。
再使用0除以逻辑值,在四则运算中,逻辑值TRUE相当于1,FALSE相当于0。相除之后变成了一组错误值和0。
{#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
也就是条件区域中的某个单元格如果等于查找值,对应的计算结果就是0,其他都是错误值。
LOOKUP在这组内容中查找1的位置,找不到1就用0顶包,0的位置是2,所以最终返回第三参数B3:B8中第2个单元格的内容了。
LOOKUP函数的查找区域和返回结果区域,都是一行或一列的写法,所以可以实现任意方向的查询。
LOOKUP函数是不是就最牛了呢?NO,NO,NO,INDEX和MATCH函数表示不服。
仍以刚刚的数据为例,要根据E3单元格中的秘书,在B~C列的对照表中查找与之对应的领导姓名。
F3单元格公式为:
=INDEX(B2:B8,MATCH(E3,C2:C8,0))
MATCH函数的作用,是查找数据在一行或一列中所处的位置。
用法是:
MATCH(要找谁,在哪行或哪列找,精确匹配还是近似匹配)
公式中的MATCH(E3,C2:C8,0)部分,就是精确查找E3单元格中的小袁秘书在C2:C8中所处的位置,结果是3。
INDEX函数的作用,是根据指定的位置信息,返回数据区域中对应位置的内容。
本例中,先用MATCH函数计算出小袁秘书的位置3,再用INDEX函数返回B2:B8区域中第3个单元格的内容。
INDEX+MATCH函数二者组合,也能实现任意方向的数据查询。
共有条评论 网友评论