VLookUP用法

在 EXCEL中VLOOKUP函数

VLOOKUP函数
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
语法:
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函数的使用方法。
假设在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函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提出,一起探讨

<think>嗯,用户问的是VLOOKUP函数用法,这个我得仔细想想怎么解释清楚。首先,用户可能是个刚开始用Excel的人,或者对函数不太熟悉,需要基础的介绍。我应该从基本结构入手,分步骤说明,然后举例子可能更容易理解。 VLOOKUP的四个参数是关键:查找值、表格范围、列序号、匹配方式。得逐一解释每个参数的作用。比如,查找值是要找什么,表格范围是去哪里找,列序号是返回哪一列的数据,匹配方式区分精确和近似匹配。可能用户容易混淆精确和近似,这里需要特别说明,比如近似匹配用于数值区间,而精确是大多数情况用的。 然后,注意事项也很重要。比如,查找值必须在范围的第一列,否则函数会出错。还有列序号不能超过范围的总列数,否则会返回错误。这些都是常见的问题,用户在使用时可能会遇到,提前说明可以避免他们犯错。 举个例子的话,用员工表来演示比较直观,比如找工号对应的姓名和部门。这样用户容易联想到实际应用场景。同时,提醒错误情况,比如#N/A和#REF!,解释原因和解决方法,这样用户在遇到问题时可以自己排查。 可能用户的需求是处理数据表,比如合并数据或者查找相关信息。所以,除了基本用法,可以提到VLOOKUP的常见用途,比如数据核对、信息查询,这样用户能明白它的实际应用价值。另外,虽然HLOOKUP存在,但可能不需要深入,除非用户特别问到,但VLOOKUP更常用,所以重点放在这里。 还要注意,用户可能不知道绝对引用的重要性,比如在拖动公式时表格范围会变动,导致错误。所以例子中用$符号锁定范围,这一点需要强调,避免用户漏掉。 最后,检查是否有遗漏的点,比如是否提到区分大小写的问题,或者如何处理重复值。不过VLOOKUP本身不区分大小写,而且如果有重复值,只会返回第一个匹配的结果,这点可能需要补充吗?不过可能对于初学者来说,先掌握基础,遇到具体问题再深入更好。所以暂时先不复杂化,保持回答简洁明了。 总之,结构上先介绍功能,再分解参数,举例说明,注意事项,常见错误,最后应用场景。这样用户能一步步理解,并且有实际例子参考,应该能帮助他们掌握VLOOKUP的基本用法。</think>VLOOKUPExcel中最常用的查找函数之一,主要用于**垂直方向的数据匹配**。以下是分步详解: --- ### **核心功能** 从表格的**首列**中查找特定值,并返回该行中**指定列**的对应数据。 --- ### **基本公式结构** ```excel =VLOOKUP(查找值, 表格范围, 列序号, [匹配方式]) ``` #### 参数详解: 1. **查找值**:要搜索的值(如:工号、商品ID) 2. **表格范围**:包含目标数据的区域(需包含查找列和返回列,建议用`$`锁定范围,例如`$A$2:$D$100`) 3. **列序号**:要返回的数据在表格范围中的第几列(从1开始计数) 4. **匹配方式**: - `FALSE` 或 `0`:精确匹配(最常用) - `TRUE` 或 `1`:近似匹配(需数据升序排列) --- ### **实际案例演示** 假设有以下员工表: | 工号 | 姓名 | 部门 | 工资 | |------|--------|--------|------| | 1001 | 张三 | 销售部 | 5000 | | 1002 | 李四 | 技术部 | 8000 | #### 需求:通过工号查找对应姓名 ```excel =VLOOKUP(1002, $A$2:$D$3, 2, FALSE) ``` - **结果**:返回`李四` - **解析**: - 查找值`1002`在`$A$2:$D$3`的第一列(工号列)中匹配 - 返回第2列(姓名列)的数据 --- ### **注意事项** 1. **查找值必须位于表格范围的第一列** 2. **列序号不可超过表格范围的总列数**(例如范围有4列,列序号不能>4) 3. **精确匹配时若找不到值**,会返回`#N/A`错误 4. **近似匹配**常用于数值区间查询(如税率表、成绩等级) --- ### **常见错误处理** | 错误类型 | 原因 | 解决方法 | |----------|--------------------|--------------------------| | `#N/A` | 查找值不存在 | 检查数据或使用`IFERROR` | | `#REF!` | 列序号超出范围 | 调整列序号 | | 错误数据 | 表格范围未锁定 | 使用`$`固定范围(如`$A$1:$D$100`)| --- ### **典型应用场景** 1. 合并两个表格的数据(如用订单ID匹配客户信息) 2. 快速核对数据一致性 3. 根据编码自动填充名称、价格等属性 > 📌 提示:如需横向查找(按行搜索),可使用`HLOOKUP`函数,但实际工作中`VLOOKUP`更常用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值