首页技术excel表格vlookup(怎么使用vlookup公式)

excel表格vlookup(怎么使用vlookup公式)

编程之家2026-06-261179次浏览

各位老铁们好,相信很多人对excel表格vlookup都不是特别的了解,因此呢,今天就来为大家分享下关于excel表格vlookup以及怎么使用vlookup公式的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

excel表格vlookup(怎么使用vlookup公式)

excel表格中怎样使用vlookup

VLOOKUP函数

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。

这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。

语法:

VLOOKUP(查找值,区域,列序号,逻辑值)

“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。

excel表格vlookup(怎么使用vlookup公式)

“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。

“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP返回错误值#VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值#REF!。

“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP返回时是精确匹配还是近似匹配。如果为 TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A。如果“查找值”为文本时,“逻辑值”一般应为 FALSE。另外:

·如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP返回错误值#N/A。

·如果函数 VLOOKUP找不到“查找值”且“逻辑值”为 FALSE,函数 VLOOKUP返回错误值#N/A。

下面举例说明VLOOKUP函数的使用方法。

excel表格vlookup(怎么使用vlookup公式)

假设在Sheet1中存放小麦、水稻、玉米、花生等若干农产品的销售单价:

A B

1农产品名称单价

2小麦 0.56

3水稻 0.48

4玉米 0.39

5花生 0.51

…………………………………

100大豆 0.45

Sheet2为销售清单,每次填写的清单内容不尽相同:要求在Sheet2中输入农产品名称、数量后,根据Sheet1的数据,自动生成单价和销售额。设下表为Sheet2:

A B C D

1农产品名称数量单价金额

2水稻 1000 0.48 480

3玉米 2000 0.39 780

…………………………………………………

在D2单元格里输入公式:

=C2*B2;

在C2单元格里输入公式:

=VLOOKUP(A2,Sheet1!A2:B100,2,FALSE)。

如用语言来表述,就是:在Sheet1表A2:B100区域的第一列查找Sheet2表单元格A2的值,查到后,返回这一行第2列的值。

这样,当Sheet2表A2单元格里输入的名称改变后,C2里的单价就会自动跟着变化。当然,如Sheet1中的单价值发生变化,Sheet2中相应的数值也会跟着变化。

其他单元格的公式,可采用填充的办法写入。

VLOOKUP函数使用注意事项

说到VLOOKUP函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。

一.VLOOKUP的语法

VLOOKUP函数的完整语法是这样的:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。

2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有两点要特别提醒:

A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。

而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。

B)第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。

3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。

二.VLOOKUP的错误值处理。

我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:

=if(iserror(vlookup(1,2,3,0))=true,0,vlookup(1,2,3,0))

这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。

这里面又用了两个函数。

第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。

第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)

三.含有VLOOKUP函数的工作表档案的处理。

一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。

有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。

在工作表里,点击工具——选项——计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。

下面详细的说一下它的原理。

1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。

2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。

3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。

VLOOKUP函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提出,一起探讨。

excel表格怎么用VLOOKUP函数

1.进阶篇

在学习了VLOOKUP的入门和初级篇后,本文将带将大家学习VLOOKUP的进阶篇:VLOOKUP的模糊查找。

一、字符的模糊查找

在A列我们知道如何查找型号为“AAA”的产品所对应的B列价格,即:

=VLOOKUP(C1,A:B,2,0)

如果我们需要查找包含“AAA”的产品名称怎么表示呢?如下图表中所示。

公式=VLOOKUP("*"&A10&"*",A2:B6,2,0)

公式说明:VLOOKUP的第一个参数允许使用通配符“*”来表示包含的意思,把*放在字符的两边,即"*"&字符&"*"。

二、数字的区间查找

数字的区间查找即给定多个区间,指定一个数就可以查找出它在哪个区间并返回这个区间所对应的值。

在VLOOKUP入门中我们提示VLOOKUP的第4个参数,如果为0或FALSE是精确查找,如果是1或TRUE或省略则为模糊查找,那么实现区间查找正是第4个参数的模糊查找应用。

首先我们需要了解一下VLOOKUP函数模糊查找的两个重要规则:

1、引用的数字区域一定要从小到大排序。杂乱的数字是无法准确查找到的。如下面A列符合模糊查找的前题,B列则不符合。

2、模糊查找的原理是:给一定个数,它会找到和它最接近,但比它小的那个数。详见下图说明。

最后看一个实例:

例:如下图所示,要求根据上面的提成比率表,在提成表计算表中计算每个销售额的提成比率和提成额。

公式:=VLOOKUP(A11,$A$3:$B$7,2)

公式说明:

1、上述公式省略了VLOOKUP最后一个参数,相当于把第四个参数设置成1或TRUE。这表示VLOOKUP要进行数字的区间查找。

2、图中公式中在查找5000时返回比率表0所对应的比率1%,原因是0和10000与5000最接近,但VLOOKUP只选比查找值小的那一个,所以公式会返回0所对应的比率1%。

2.高级应用

前言:前面我们分别学习了VLOOKUP函数的入门、初级和进阶篇。今天我们学习VLOOKUP函数的高级应用部分-VLOOKUP函数的数组应用。

一、VLOOKUP的反向查找。

一般情况下,VLOOKUP函数只能从左向右查找。但如果需要从右向左查找,则需要把区域进行“乾坤大挪移”,把列的位置用数组互换一下。

例1:要求在如下图所示表中的姓名反查工号。

公式:=VLOOKUP(A9,IF({1,0},B2:B5,A2:A5),2,0)

公式剖析:

1、这里其实不是VLOOKUP可以实现从右至右的查找,而是利用IF函数的数组效应把两列换位重新组合后,再按正常的从左至右查找。

2、IF({1,0},B2:B5,A2:A5)这是本公式中最重要的组成部分。在EXCEL函数中使用数组时(前提时该函数的参数支持数组),返回的结果也会是一个数组。这里1和0不是实际意义上的数字,而是1相当于TRUE,0相当于FALSE,当为1时,它会返回IF的第二个参数(B列),为0时返回第二个参数(A列)。根据数组运算返回数组,所以使用IF后的结果返回一个数组(非单元格区域):{"张一","A001";"赵三","A002";"杨五","A003";"孙二","A004"}

二、VLOOKUP函数的多条件查找。

VLOOKUP函数需要借用数组才能实现多条件查找。

例2:要求根据部门和姓名查找C列的加班时间。

分析:我们可以延用例1的思路,我们的努力方向不是让VLOOKUP本身实现多条件查找,而是想办法重构一个数组。多个条件我们可以用&连接在一起,同样两列我们也可以连接成一列数据,然后用IF函数进行组合。

公式:{=VLOOKUP(A9&B9,IF({1,0},A2:A5&B2:B5,C2:C5),2,0)}

公式剖析:

1、A9&B9把两个条件连接在一起。把他们做为一个整体进行查找。

2、A2:A5&B2:B5,和条件连接相对应,把部分和姓名列也连接在一起,作为一个待查找的整体。

3、IF({1,0},A2:A5&B2:B5,C2:C5)用IF({1,0}把连接后的两列与C列数据合并成一个两列的内存数组。按F9后可以查看的结果为:

{"销售张一",1;"销售赵三",5;"人事杨五",3;"销售赵三",6}

4、完成了数组的重构后,接下来就是VLOOKUP的基本查找功能了,另外公式中含有多个数据与多个数据运算(A2:A5&B2:B5),,所以必须以数组形式输入,即按ctrl+shift后按ENTER结束输入。

三、VLOOKUP函数的批量查找。

VLOOKUP一般情况下只能查找一个,那么多项该怎么查找呢?

例3要求把如图表中所有张一的消费金额全列出来

分析:经过前面的学习,我们也有这样一个思路,我们在实现复杂的查找时,努力的方向是怎么重构一个查找内容和查找的区域。要想实现多项查找,我们可以对查找的内容进行编号,第一个出现的是后面连接1,第二个出现的连接2。。。

公式:{=VLOOKUP(B$9&ROW(A1),IF({1,0},$B$2:$B$6&COUNTIF(INDIRECT("b2:b"&ROW($2:$6)),B$9),$C$2:$C$6),2,)}

公式剖析:

1、B$9&ROW(A1)连接序号,公式向下复制时会变成B$9连接1,2,3

2、给所有的张一进行编号。要想生成编号,就需要生成一个不断扩充的区域(INDIRECT("b2:b"&ROW($2:$6)),然后在这个逐行扩充的区域内统计“张一”的个数,在连接上$B$2:$B$6后就可以对所有的张一进行编号了。

3、IF({1,0}把编号后的B列和C组重构成一个两列数组

通过以上的讲解,我们需要知道,VLOOKUP函数的基本用法是固定的,要实现高级查找,就需要借助其他函数来重构查找内容和查找数组。

至此VLOOKUP函数从入门到高级的四篇VLOOKUP函数使用教程全部结束了,VLOOKUP函数在数组运算中还有着其他应用,但只是配角了,所以本系列不再介绍。由于笔者水平有限,不免有错漏之处,请大家多多指点。

excel表格中vlookup函数怎么用

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value为需要在表格数组(数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value

可以为数值或引用。若 lookup_value小于 table_array第一列中的最小值,VLOOKUP返回错误值#N/A。

Table_array为两列或多列数据。使用对区域或区域名称的引用。table_array

第一列中的值是由 lookup_value搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。

Col_index_num为 table_array

中待返回的匹配值的列序号。Col_index_num为 1时,返回 table_array第一列中的数值;col_index_num为 2,返回

table_array第二列中的数值,以此类推。如果 col_index_num:

小于 1,VLOOKUP返回错误值#VALUE!。

大于 table_array的列数,VLOOKUP返回错误值#REF!。

Range_lookup为逻辑值,指定希望 VLOOKUP查找精确的匹配值还是近似匹配值:

如果为 TRUE或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value的最大数值。

table_array第一列中的值必须以升序排序;否则 VLOOKUP可能无法返回正确的值。有关详细信息,请参阅排序数据。

如果为 FALSE,VLOOKUP将只寻找精确匹配值。在此情况下,table_array第一列的值不需要排序。如果 table_array

第一列中有两个或多个值与 lookup_value匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值#N/A。

文章分享结束,excel表格vlookup和怎么使用vlookup公式的答案你都知道了吗?欢迎再次光临本站哦!

使命召唤7没有声音(使命召唤7手柄按什么键配降落伞)王者荣耀改名功能存在异常(王者荣耀禁止改名解除步骤讲解)