excel函数vlookup函数的使用方法和操作实例教程

/ 0评 / 3

前言

在日常工作中,我们经常要对excel中的数据进行处理。而比较两组数据是非常常见的,比如以下场景:

1. 比较两组数据的重合部分;

2. 比较A表格中减掉与B数据的重叠部分剩下的数据;

3. A表格需要新增一个列字段数据,但是这个字段数据存放在B表格中,需要批量匹配过来

...

以上的场景就需要使用到excel中的vlookup函数,但是网上很多教程讲解的不够透彻,以及在匹配中容易出现问题。所以我决定写一篇教程来介绍如何使用它。

vlookup的使用方法

vlookup的函数规则如下:

  1. VLOOKUP(‘要查找的值’,‘要查找的范围’,‘返回数据在查找区域的第几列数’,‘模糊匹配/精确匹配’)

lookup的操作实例教程

举个例子,我现在excel文件中有两个表,分别是Sheet1和Sheet2,表格如下:

Sheet1:订单金额明细表
A B C D
1 订单编号 商品名称 品牌 订单金额
2 6015412 玉露润颜保湿洁肤晶露100ml 美肤宝 79
3 6015413 玉露润颜保湿养肤水120ml 美肤宝 138
4 6015414 玉露润颜保湿乳液100ml 美肤宝 168
5 6015415 玉露润颜保湿精华露40ml 美肤宝 198
6 6015416 玉露润颜保湿面霜50ML 美肤宝 158
7 6015417 玉露润颜修护眼霜20ml 美肤宝 178
8 6015418 玉露润颜保湿礼盒1*3 美肤宝 308
9 6015419 玉露润颜保湿礼盒(滋润型)1*5 美肤宝 298
10 6015420 玉露润颜保湿三步曲礼盒 美肤宝 198
Sheet2:订单收货人信息表
A B C
1 订单编号 收货人 手机号
2 6015412 张三 134000000001
3 6015413 李四 134000000002
4 6015414 王五 134000000003
5 6015415 赵六 134000000004
6 6015416 钱七 134000000005
7 6015417 公八 134000000006
8 6015418 孙九 134000000007
9 6015419 颜十 134000000008
10 6015420 龚十一 134000000009
11 6015421 刘十二 134000000010

如果我需要在Sheet1中的E列新增收货人,怎么操作呢?

第一步,我们在E列加入收货人,在E2单元格输入vlookup函数:

  1. =VLOOKUP(A2,Sheet2!A2:C11,2,FALSE)

第二步,回车执行函数,自动匹配到Sheet2表格中的收货人信息

第三步,将鼠标放在E2单元格右下角,等光标变成“+”号,双击,批量执行操作

双击鼠标后执行的结果:

但是当数据量很大的情况下,我们会发现部分数据执行后会出现“N/A”的结果,这是为什么呢?

为了解释这个现象,我将上述F3到F10自动执行的函数复制到下面:

  1. F3:=VLOOKUP(A3,Sheet2!A3:C12,2,FALSE)
  2. F4:=VLOOKUP(A4,Sheet2!A4:C13,2,FALSE)
  3. F5:=VLOOKUP(A5,Sheet2!A5:C14,2,FALSE)
  4. F6:=VLOOKUP(A6,Sheet2!A6:C15,2,FALSE)
  5. F7:=VLOOKUP(A7,Sheet2!A7:C16,2,FALSE)
  6. F8:=VLOOKUP(A8,Sheet2!A8:C17,2,FALSE)
  7. F9:=VLOOKUP(A9,Sheet2!A9:C18,2,FALSE)
  8. F10:=VLOOKUP(A10,Sheet2!A10:C19,2,FALSE)

我们可以发现,自动执行生成的函数中,不仅vlookup第一个值由A3变到A10了,而且查询范围也由Sheet2!A3:C12变成了Sheet2!A10:C19,所以当数据量特别大的情况下,这个范围的变动会导致查询不到数据。

那么,如何解决这个问题呢?

需要我们批量生成关于vlookup的函数,使得A3~A10变化,而查询的范围保持固定不变,也就是要得到以下的结果:

  1. =VLOOKUP(A2,Sheet2!A2:C11,2,FALSE)
  2. =VLOOKUP(A3,Sheet2!A2:C11,2,FALSE)
  3. =VLOOKUP(A4,Sheet2!A2:C11,2,FALSE)
  4. =VLOOKUP(A5,Sheet2!A2:C11,2,FALSE)
  5. =VLOOKUP(A6,Sheet2!A2:C11,2,FALSE)
  6. =VLOOKUP(A7,Sheet2!A2:C11,2,FALSE)
  7. =VLOOKUP(A8,Sheet2!A2:C11,2,FALSE)
  8. =VLOOKUP(A9,Sheet2!A2:C11,2,FALSE)
  9. =VLOOKUP(A10,Sheet2!A2:C11,2,FALSE)

那当数据量特别大的时候,怎么批量生成上述函数表达式呢?教给大家一个方法

第一步,新建一个Sheet表,在表格的A列输入2~10(根据你的需求来输入,比如你由500行数据,你就输入1~500)

然后在B1单元格中输入以下公式

  1. ="=VLOOKUP(A"&A1&",Sheet2!A2:C11,2,FALSE)"

上面这个是输出文本字符串,文本和文本之间使用&连接,非单元格变量需要用英文下引号引起来,这个需要大家去反复练习就熟练了,不懂的可以留言。

然后鼠标右下角双击,批量执行

然后将生成的函数代码,先复制到文本文档中,然后再从文本文档中复制出来,就得到了我们上面的那一组公式:

  1. =VLOOKUP(A2,Sheet2!A2:C11,2,FALSE)
  2. =VLOOKUP(A3,Sheet2!A2:C11,2,FALSE)
  3. =VLOOKUP(A4,Sheet2!A2:C11,2,FALSE)
  4. =VLOOKUP(A5,Sheet2!A2:C11,2,FALSE)
  5. =VLOOKUP(A6,Sheet2!A2:C11,2,FALSE)
  6. =VLOOKUP(A7,Sheet2!A2:C11,2,FALSE)
  7. =VLOOKUP(A8,Sheet2!A2:C11,2,FALSE)
  8. =VLOOKUP(A9,Sheet2!A2:C11,2,FALSE)
  9. =VLOOKUP(A10,Sheet2!A2:C11,2,FALSE)

这个时候,我们只要把这组公式复制到需要他匹配的列,就能精准匹配Sheet2!A2:C11中的数据了。

所以,你会使用excel表格的vlookup函数了吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注