【史上最全】VLOOKUP函数应用教程

职场一族在日常工作中经常需要对数据进行查询调用,VLOOKUP函数是工作中使用频率超高的查询函数之一,可谓Excel函数中的大众情人。

本文完整详尽的介绍了VLOOKUP函数的技术特点和应用方法,除了原理和基础性讲解外,还提供了大量贴近工作场景的案例,介绍并剖析掌握Excel函数与公式的技巧,帮助读者加深理解,便于在自己的实际工作中直接借鉴和使用。

由于正文字数限制,本教程给出Excel案例和公式解法,对公式的原理解析和详细说明请点击本文底部的“阅读原文”获取。

适用对象:本文面向的读者包括所有需要用到查找引用数据的用户,无论是初入职场的应届毕生生,还是在职场拼杀多年的白领精英,都将从本文找到值得学习的内容。

软件版本:本文的写作环境是Window10家庭版操作系统上的简体中文版Excel 2013。本文绝大多数内容也适用于Excel的早期版本(2010、2007和2003),或者英文版和繁体中文版,所以读者大不必因自用版本不同而过多担心。

本文学习要点

1、VLOOKUP函数语法解析

2、VLOOKUP函数单条件查找

3、VLOOKUP函数多条件查找

4、VLOOKUP函数查找返回多列数据

5、VLOOKUP函数从右向左查找

6、VLOOKUP函数按数据所处区间划分等级

7、VLOOKUP函数使用通配符模糊查找

8、VLOOKUP函数多层级条件嵌套查找

9、VLOOKUP函数按指定次数重复数据

10、VLOOKUP函数返回查找到的多个值

11、VLOOKUP函数在合并单元格中查找

12、VLOOKUP函数提取字符串中的数值

13、VLOOKUP函数转换数据行列结构

14、VLOOKUP函数疑难解答提示


1、VLOOKUP函数语法解析

VLOOKUP 基础用法是搜索某个单元格区域的第一列,然后返回该区域相同行上任何单元格中的值。

VLOOKUP 中的 V 表示垂直方向。当比较值位于所需查找的数据的左边一列时,可以使用VLOOKUP

语法结构:

VLOOKUP(lookup_value,table_array, col_index_num, [range_lookup])

初学的小白们不要一看这么一串语法就蒙圈了,其实很简单,我翻译一下就是:

VLOOKUP(找什么,在哪找,找到后返回其右侧对应的第几列数据,精确还是模糊查找)

这样一看是不是清晰多了?

具体的语法说明大家按F1看帮助文档吧,我就不再复制粘贴在这里占用篇幅了。

需要说明的一点是,Excel中的帮助信息也有错误,比如在插入函数功能中VLOOKUP第四参数的说明就是错的,大家注意不要被误导哦!如下图:

红框部分帮助错误,应改为:如果为FALSE或0,精确匹配,如果为TRUE或忽略,大致匹配。

为了保护好大家的学习兴趣,更清晰的了解VLOOKUP函数什么时候用?以及怎么用?我们结合案例来看。

2、VLOOKUP函数单条件查找

根据单条件进行数据查找是最基础也是最常见的需求了。我们来牛刀小试。

看如下案例,工作中的数据源为A:B两列,分别放置业务员姓名和对应的销售额,当我们需要按照业务员查找其对应的销售额时,就要用到VLOOKUP函数了。

表中黄色区域为公式所在位置,以E2单元格公式为例

=VLOOKUP(D2,$A$2:$B$12,2,0)

这个公式是标准的VLOOKUP函数的基础应用方法,每个参数都没有变形,所以很方便初学者获悉这个函数最原始的含义和作用。

第一参数:找什么(或者说按什么查找),按业务员查找,所以输入D2

第二参数:在哪找,数据源区域在A:B列,所以输入$A$2:$B$12

第三参数:找到后返回第几列,我们要查找的是销售额,销售额位于B列,即第二参数中的第二列,所以输入2

第四参数:这里要精确查找,所以输入0

翻译过来就是

=VLOOKUP(要查找的业务员,包含业务员和其销售额的数据源区域,找到后返回第2列,精确查找)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

3、  VLOOKUP函数多条件查找

上一节中我们学会了单条件查找,小伙伴们自然想到了,如果有多个条件要同时满足怎么办?

其实很简单,你可以在数据源左侧创建一个辅助列,将多个条件用&符号连接起来作为条件查找列。

如果数据源左侧不允许插入列,或者你想直接用一个公式搞定多条件查找,自然也有办法啦,下面结合一个案例来介绍这种方法。

看如下案例,工作中的数据源为A:C两列,分别放置水果、产地和对应的销售额,当我们需要同时按照水果和产地查找其对应的销售额时,就要用到VLOOKUP函数的多条件查找技巧了。

表中黄色区域为公式所在位置,以G2单元格公式为例

输入以下数组公式,按<Ctrl+Shfit+Enter>组合键结束输入。

=VLOOKUP(E2&F2,IF({1,0},$A$2:$A$12&$B$2:$B$12,$C$2:$C$12),2,0)

注意:这个公式是数组公式,如果直接按Enter键输入会返回#N/A错误值。

新人一定搞不懂啥叫数组公式呢?这里科普一下吧。

Excel中的公式分普通公式和数组公式。

普通公式不多说啦就是大家最常用的,输入公式后直接按Enter结束输入。

数组公式是为了应对一些比较复杂的计算,需要对一组或者多组数据执行多项计算,返回一个值或者一组值的公式,这样的公式输入完成后需要按<Ctrl+Shfit+Enter>组合键结束输入,公式两侧会自动出现一对大括号{},标识这个公式是要按照数组运算模式来计算的。

当鼠标定位在公式所在单元格进入编辑状态时,大括号就消失了,当我们按ESC键退出编辑状态时大括号就又重新出现了。

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

4、VLOOKUP函数查找返回多列数据

单条件查找会了,多条件查找也学了,都是输入一个公式然后向下复制填充一列的形式,如果有多列数据需要根据查找值调取对应数据,那么如何输入一个公式就能搞定一个区域的数据调用呢?

这个案例告诉你答案。

下图中左侧表格是数据源区域,需要在右侧区域根据业务员姓名调取对应的科目成绩,黄色区域是需要填写公式的区域。

这个案例中,我们观察到右侧的科目顺序和数据源一致,都是从数学到体育,如果我们用最笨的方法一列一列写公式固然可以实现目的,但当需要查找的列很多时无疑是一项大工程。

这里给出一个简单实用的公式,选中H2:K5单元格区域,输入以下公式后按<Ctrl+Enter>组合键。

注意是组合键同时按下,而不要只按Enter键哦!

=VLOOKUP($G2,$A$2:$E$12,COLUMN(B1),0)


(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

5、VLOOKUP函数从右向左查找

工作中免不了遇到数据源中要调取的数据在查找值所在列的左侧,我们知道VLOOKUP函数的常规用法是从左往右找,那么遇到这种需要从右往左查找的问题如何解决呢?

下面的表格中,我们需要按照给出的编号查找对应的业务员姓名,黄色区域输入公式。


看到这个场景,有的小伙伴或许说,虽然VLOOKUP函数只能从左往右找,那干脆把数据源里面的编号列改到左边不就行了吗?

你想的没错,这样是可以实现的,但以下几种情况下还是学会一个公式一步到位的比较好:

1、当数据源格式不允许改动时

2、当这项工作出现的频率较高,你懒得每次都要重新改数据源,想一劳永逸时

3、当你想除了基础用法之外,多学点高逼格用法时,哈哈

所以说技多不压身,多学一手,何乐而不为呢?书归正传,先给出公式,再解析原理。

F2单元格输入以下公式后向下复制填充。

=VLOOKUP(E2,IF({1,0},$B$2:$B$12,$A$2:$A$12),2,0)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

6、VLOOKUP函数按数据所处区间划分等级

工作中除了精确查找外,模糊匹配也经常遇到。我们结合下面这个案例来学习模糊匹配技巧。

下面表格中左侧是数据源区域,需要按照等级划分规则,将成绩划分到其对应的等级中。

等级划分规则如下:

[0,60):  D

[60,80):   C

[80,90):   B

[90,100]: A

看到这里,很多小伙伴一定想到用IF多条件嵌套来解决,没错,使用IF是可以实现的,比如这两个公式都能实现我们的需求。

=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=60,"C","D")))

=IF(B2<60,"D",IF(B2<80,"C",IF(B2<90,"B","A")))

但是当划分规则更多时,编辑公式的时候需要一层一层的嵌套,用IF书写公式简直变成了体力活。

有没有更简便的办法呢?当然,只要学会VLOOKUP模糊匹配技巧就可以了。

我们用以下公式就可以实现IF多层条件嵌套同样的结果了。

=VLOOKUP(B2,{0,"D";60,"C";80,"B";90,"A"},2)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

7、VLOOKUP函数使用通配符模糊查找

当我们在工作中遇到需要只根据查找值的一部分进行查找时,记得可以利用通配符的特性来实现。

下面结合一个案例来介绍。

表格中左侧是数据源,需要查找业务员名字中带“强”的人的销售额。


通配符星号*通配任意个字符,问号?通配单一字符,这个案例中模糊查找的规则是只要名字中带“强”就可以,所以我们需要使用“*强*”这种形式,支持“强”字出现在任意位置。

E2公式为:

=VLOOKUP("*强*",$A$2:$B$12,2,0)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

8、VLOOKUP函数多层级条件嵌套查找

遇到多层级条件嵌套查找,很多人第一时间想到的是IF多条件嵌套,还有些高手想到的是LOOKUP函数查找,其实VLOOKUP函数也可以搞定。

比如下面这个案例,我们要根据会员的消费金额查找其所处的会员等级。

当消费金额处在两级会员等级之间时,按较低一级的等级算,比如消费金额3333,处于会员等级三级和四级之间,那么该会员属于三级会员,只有达到5000消费金额后才算四级会员。

E2输入以下公式,向下填充。

=VLOOKUP(D2,$A$2:$B$8,2)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

9、VLOOKUP函数按指定次数重复数据

工作中一些复杂场景会遇到按指定次数重复数据的需求,如下图所示。

D列黄色区域是由公式自动生成的重复数据,当左侧的数据源变动时,D列会按照指定的重复次数自动更新。

这里使用的是一个数组公式,以D2为例,输入以下数组公式后按<Ctrl+Shfit+Enter>结束输入。

=IFERROR(VLOOKUP(ROW(A1),IF({1,0},SUBTOTAL(9,OFFSET(A$2,,,ROW($1:$3))),B$2:B$4),2,),D3)&""

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

10、VLOOKUP函数返回查找到的多个值

我们都知道VLOOKUP的常规用法下,当有多个查找值满足条件时,只会返回从上往下找到的第一个值,那么如果我们需要VLOOKUP函数一对多查找时,返回查找到的多个值,有办法实现吗?答案是肯定的。

让我们结合案例来看。

下面表格中左侧是数据源,当右侧D2单元格选择不同的著作时,需要黄色区域返回根据D2查找到的多个值。

在这里,我先给出遇到这种情况最常用的一个数组公式

E2单元格输入以下数组公式,按<Ctrl+Shift+Enter>组合键结束输入。

=INDEX(B:B,SMALL(IF(A$2:A$11=D$2,ROW($2:$11),4^8),ROW(A1)))&""

这是经典的一对多查找时使用的INDEX+SMALL+IF组合。

用VLOOKUP函数的公式,我也给出,E2输入数组公式,按<Ctrl+Shift+Enter>组合键结束输入。

=IF(COUNTIF(A$2:A$11,D$2)<ROW(A1),"",VLOOKUP(D$2&ROW(A1),IF({1,0},A$2:A$11&COUNTIF(INDIRECT("A2:A"&ROW($2:$11)),A$2:A$11),B$2:B$11),2,))

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

11、VLOOKUP函数在合并单元格中查找

合并单元格,这个东东大家在工作中太常见了吧。

我个人是极其讨厌合并单元格的,尤其是在数据处理过程中。但这并不能避免跟合并单元格打交道,因为数据源来自的渠道太多了,遇到了合并单元格也不能影响到我们的数据处理和分析过程。

下面结合一个案例,介绍合并单元格中如何使用VLOOKUP函数查找。

大家注意到左侧的班级列包含多个合并单元格且都是3行一合并,右侧的查找是根据班级和名次进行双条件查找。注意是从合并单元格中查找哦。

最简便的办法是在数据源左侧做个辅助列,将合并单元格拆分并填充,这就回归到前面介绍过的多条件查找的用法了。这个案例我们不创建辅助列,也不改动数据源结构,直接使用公式进行数据提取。

G2输入以下公式

=VLOOKUP(F2,OFFSET(B1:C1,MATCH(E2,A2:A10,),,3),2,)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

12、VLOOKUP函数提取字符串中的数值

工作中有时会遇到从一串文本和数值混杂的字符串中提取数值的需求,如果字符串比较多而且经常变动,与其每次都手动提取数值,就不如写好一个公式实现自动提取。当数据源更新时,公式结果还能自动刷新。

下面的案例中,可以看到字符串中包含的数值各式各样,有整数也有一位小数、两位和多位小数,还有百分比数值,使用公式都可以一次性批量提取(百分号提取出来默认按照小数形式显示,可以设置格式改变显示方式)。

首先给出数组公式,在B2输入以下数组,按<Ctrl+Shift+Enter>组合键结束输入。

=VLOOKUP(9E+307,MID(A2,MIN(IF(ISNUMBER(--MID(A2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

13、VLOOKUP函数转换数据行列结构

VLOOKUP函数不光能查找调用数据,还可以用来转换数据源的布局,比如将行数据转换为多行多列的区域数据,如下面案例。

数据源位于第二行,要将这个1行20列的行数据转换为黄色区域所示的4行5列的布局。


选中P5:T8单元格区域,输入以下区域数组公式,按<Ctrl+Shift+Enter>组合键结束输入。

=VLOOKUP("*",$A$2:$T$2,((ROW(1:4)-1)*5+COLUMN(A:E)),0)

(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

14、VLOOKUP函数疑难解答提示

在使用VLOOKUP函数的过程中,很容易遭遇公式返回错误值的困境,下面这些错误值总结了最常见的问题,介绍产生错误原因的同时还给出了排除错误值的方法。


(更详细的公式原理解析和说明请点击本文底部的“阅读原文”获取)

作者简介

李锐

微软全球最有价值专家MVP

新浪微博Excel垂直领域第一签约自媒体

百度名家,百度阅读认证作者

每日分享职场办公技巧教程

高效工作,快乐生活!

欢迎联系

微博@Excel_函数与公式

微信公众号(ExcelLiRui)

(0)

相关推荐

  • 精通Excel数组公式14:使用INDEX函数和OFFSET函数创建动态单元格区域

    excelperfect 动态单元格区域是指当添加或删除源数据时,或者随着包含单元格区域的公式被向下复制时根据某条件更改,可以自动扩展或收缩的单元格区域,可以用于公式.图表.数据透视表和其他位置. 那 ...

  • Excel应用大全 | 如何用函数查询信息?

    SIMPLE HEADLINE 如果需要在数据表或指定的单元格范围内查找并返回特定内容,可以使用查找引用类函数完成.常用的 VLOOKUP 函数.LOOKUP 函数.INDIRECT 函数,以及 IN ...

  • 史上最全VLOOKUP函数应用教程(文末有彩蛋)

    每天跟李锐学习职场办公必备干货!高效工作,快乐生活. 职场一族在日常工作中经常需要对数据进行查询调用,VLOOKUP函数是工作中使用频率超高的查询函数之一,可谓Excel函数中的大众情人. 本文完整详 ...

  • 史上最全MATCH函数应用教程

    跟李锐学Excel, 高效工作,快乐生活. 史上最全 MATCH函数 应用教程及案例解析 MATCH函数是Excel中广泛应用的查找引用函数,除自身具有返回查找数据的相对位置的功能外,MATCH函数还 ...

  • 史上最全LOOKUP函数应用教程

    跟李锐学Excel, 高效工作,快乐生活. 史上最全 LOOKUP函数 应用教程及案例解析 LOOKUP函数是Excel中威力十分强大的查找引用函数,前面教程中介绍的VLOOKUP函数的功能就已经很给 ...

  • 史上最全FREQUENCY函数应用教程

    跟李锐学Excel, 高效工作,快乐生活. 史上最全 FREQUENCY函数 应用教程及案例解析 FREQUENCY函数是一个很强大的频率统计函数,凡工作中涉及到条件分段统计.数据分布统计和数值数据重 ...

  • 史上最全DATEDIF函数应用教程

    跟李锐学Excel, 高效工作,快乐生活. 史上最全 DATEDIF函数 应用教程及案例解析 工作中经常会遇到涉及日期计算的问题,比如计算两个日期之间的天数.月数.年数. 处理这类问题要使用到的一个高 ...

  • 史上最全SUMPRODUCT函数应用教程

    跟李锐学Excel, 高效工作,快乐生活. 史上最全 SUMPRODUCT函数 应用教程及案例解析 SUMPRODUCT函数是一个使用频率很高的数学函数,凡工作中涉及到条件计数或条件求和的问题,都可以 ...

  • 史上最全COUNTIF函数应用教程

    每天跟李锐学习职场办公必备干货!高效工作,快乐生活. 在职场办公中,经常需要对数据进行条件计数统计,COUNTIF函数是工作中使用频率超高的条件计数统计函数之一,本文完整详尽的介绍了COUNTIF函数 ...

  • 史上最全SUMIF函数应用教程

    在职场办公中,经常需要对数据进行条件求和汇总,SUMIF函数是工作中使用频率超高的条件求和函数之一. 本文完整详尽的介绍了SUMIF函数的技术特点和应用方法,除了原理和基础性讲解外,还提供了大量贴近工 ...

  • 【初学者福音】史上最全IF函数应用教程

    每天跟李锐学习职场办公必备干货!高效工作,快乐生活. IF函数是Excel中最常用的函数之一,凡工作中涉及到条件逻辑判断.多层级条件嵌套判断的问题,都可以用IF函数来解决.而且IF函数与很多函数结合使 ...

  • 【初学者福音】史上最全SUM函数应用教程

    每天跟李锐学习职场办公必备干货!高效工作,快乐生活. 大家都知道,SUM求和是职场办公必备技能,但90%的人止步于SUM函数最基础的求和用法,而在明明能借助这个强大函数来提高效率时,选择了粗笨的手动汇 ...