Excel中VLOOKUP函数运用基础教程及技巧详解
2013-06-21 甘苦人生2...阅34382 转317
转藏到我的图书馆
分享:
第一部分, VLOOKUP函数用法介绍
Lookup的意思是“查”,Excel中“Lookup”相关的函数有三个:VLOOKUP、HLOOKUP和LOOKUP。vlookup 是垂直方向的查,Hlookup函数是水平方向的查。
本期主要分享vlookup函数,在 VLOOKUP 中的 V 代表垂直。vlookup函数的用法就是在表格数组的首列查指定的值,并由此返回表格数组当前行中其他列的值。
VLOOKUP函数的语法是:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
其中,lookup_value是查值,table_array代表查区域,col_index_num是表示区域中第几列,range
_lookup 表示查方式。
Range_lookup查方式分为两种:模糊查和精确查。
模糊查 table_array 第一列中的值必须以升序排序,否则 VLOOKUP 可能无法返回正确的值,模糊查Range_lookup 的值为TRUE或1。
vlookup模糊匹配精确查 table_array 第一列中的值无需按升序排序,精确查 Range_lookup的值为 FALSE 或0。
在实际运用中,大都使用精确查。
第二部分,VLOOKUP函数应用实例分析。
下图所示的图片是下面所有题的数据源。
第一题,求“eh人员”列中“简单”对应的“地区”列的值。
公式为:=VLOOKUP(G7,A4:C9,2,0)
最简洁的公式,也可以这样写:=VLOOKUP(G7,A4:C9,2,)
公式解析:G7单元格是需要查的值,A4:C9代表查区域,2代表查位于区域第二列,0为精确查,也可以省略不写。
第二题,求“eh人员”列中“笑看今朝”对应的“性别”列的值。
单击G11单元格,在编辑栏可以看到“笑看今朝”前面有一个空格,首先对空格进行处理,否则会出现#N/A 错误。
处理空格的方法有几种,比如TRIM函数、SUBSTITUTE函数,或者直接替换的形式。
因此,本题的公式为:=VLOOKUP(TRIM(G11),A4:C9,3,)
第三题,求“eh人员”列中含有“无言”对应的“地区”列的值。
本题涉及一个模糊查的知识点,查文本时,可以使用通配符“*”、“?”。其中*号代表多个字符,?号代表1个字符。
本题的公式为:=VLOOKUP(G15&"*",A4:C9,2,)
第四题,查询“星哥”是否在“eh人员”列中。
此题涉及到两个函数:
第一,IF函数。此函数是根据指定的条件来判断其“真”(TRUE)、“假”(F ALSE),从而返回相应的容。
第二,ISNA函数。ISNA函数是用来检测一个值是否为#N/A,从而返回TRUE或FALSE。ISNA 值为错误值 #N/A(值不存在)。
ISNA函数,通常其余函数结合使用,比如本题使用vlookup函数时,配合if函数和isna函数进行返回值"#N/A"为空的更正。
本题的公式为:=IF(ISNA(VLOOKUP(G19,A4:C9,1,)),"否","在")
公司分析:比如,选中公式中的VLOOKUP(G19,A4:C9,1,)部分,按F9键,得到结果为#N/A,根据上面的ISNA 函数介绍,检测到ISNA的值为#N/A,从而得到结果为TRUE。然后抹黑IF(TRUE,"否","在"),根据IF函数判断到值为TRUE,因此得到最终结果为“否”。
如果对公式中某部分有不明白之处,可以在公式编辑栏选中其对应的部分,然后按下F9键,俗称“抹黑”进行计算结果查询,然后按ESC键返回。
第五题,求“eh人员”列中“坤哥”对应的“地区”和“性别”列的值。
本题属于根据一个条件,返回多个对应值。此题的思路是通过COLUMN函数来获取Col_index_num 的值。
得到公式为:=VLOOKUP($K7,$A$4:$C$9,COLUMN(B1),),往右拖动复制公式得到“性别”列对应的值。
第六题,求“eh人员”列中“吴”对应的“性别”和“地区”列的值。
通过查看源数据,可以看到“性别”和“地区”列的顺序被颠倒,也就是被打乱了,在这种情况,原来的COLUMN 函数就得不到正确结果了。
使用MATCH函数,不管列的顺序怎么打乱,每种情况在原来的排位都不会改变的。
=VLOOKUP($K11,$A$4:$C$9,MATCH(L$10,$A$4:$C$4,),)
公式解析:本题的思路是通过MATCH函数来获取Col_index_num 的值,从而得到最终结果。
MATCH(L$10,$A$4:$C$4,)部分的意思就是查L10单元格在A4:C4单元格区域中的值,即返回L10单元格“性别”位于A4:C4单元格区域中的位置。
MATCH函数的用法就是返回在指定方式下与指定数值匹配的数组中元素的相应位置。
已经学习了VLOOKUP函数的用法,也分析了一些基础例子。无言老师在本期讲座通过几个实例来帮助大家更深入的了解VLOOKUP函数的使用。
VLOOKUP函数运用一:
VLOOKUP函数第三个参数返回的列数可以通过match函数定位查的返回所需的列数,vlookup和match嵌合使用。下图所示的A11:H20单元格区域是excel源数据。
=match(需要查的数据表列标题,元数据表列标题围,0),这是精确查定位第一次出现的列位置。
请使用vlookup函数解出下图所示的C24单元格中编号所对应的其余单元格的值。单击C24单元格右下角的向下三角形,可以更换选择其余的编号。
在E24单元格输入公式:=VLOOKUP($C$24,$A$11:$H$20,MATCH(D24,$A$11:$H$11,0),0)即可得到答案。同样的方法可以求出其余单元格的值,只是把定位的单元格地址更改一下就好了。
VLOOKUP函数运用二:原工作表存在通配符的查。
如下图所示,原工作表A列中存在“*”通配符。
通过上图的源数据,要对下图的C、D、E列对应的数据进行查,该如何设计公式呢?
单击C231单元格,输入以下公式:
=VLOOKUP(LEFT($B231,2)&"*",$A$219:$G$222,MATCH(C$230,$A$219:$G$219,0),0),然后向右和向下拉即可查相应出相应的数据。
无言老师提到,还可以使用下面这样的公式,也能实现。
=VLOOKUP(MID($B239,1,2)&"??",$A$219:$G$222,MATCH(C$238,$A$219:$G$219,0),0)
通过这个案例,可以看到*和?的替换作用,*号替换的可以为某个文本之前或之后的所有字符,?号代替的只是一个字符。通常来说,通配符用的比较多的还是*号。
VLOOKUP函数运用三:反向查。
VLOOKUP函数通常只能从左往右的垂直方向有序查。如果需要用到逆序,反向查就需要使用IF或CHOOSE 其中一个函数嵌套使用。这两个函数在VLOOKUP函数的使用通常是这样的形式:IF({1,0},查容的列,返回容的列) 和 CHOOSE({1,2,3},查容的列, 返回容的列-1, 返回容的列-2返回容的列-3),【返回容的列需要几列就写入几列】。
下图所示的是A258:F288单元格区域为源数据,为了演示需要,将其中的部分行区域隐藏了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论