有两张数据表,表1是某小区人员信息表(下称表1),表2是某市全市人员疫苗接种信息(下称表2)。现在我们想知道小区人员谁接种了疫苗、谁没有,应该怎么办?用Vlookup函数可以快速搞定。Vlookup可以按照一定的条件去指定的表中查找数据,如果找到了,就把它拿到当前的表中,找不到就显示N/A。结合示例数据来说,就是按照身份证号,把疫苗表里的疫苗接种情况放到小区表中。
文章分为3部分:操作步骤、公式解读与基本原理、其它事项。

一操作步骤
1、打开数据表
2、表1中:D2单元格输入=VLOOKUP( 。
函数名称快捷输入:输入前两个字母“vl”(输入法英文状态),然后按ALT+Tab键就是=VLOOKUP( 。至于右括号,可以现在补全,也可以最后补全
3、表1中,选择B列数据,并添加逗号,公式变成=VLOOKUP(B:B,
4、数据切换到表2,选中B到D列数据区域,并添加逗号,公式变成=VLOOKUP(B:B,[全市人员疫苗接种表.xlsx]Sheet1!$B:$D,
可以看到函数自动为公式添加了数据路径([全市人员疫苗接种表.xlsx]Sheet1!)和绝对引用(美元符号“$”)
5、填写数字3,填写逗号,公式变成=VLOOKUP(B:B,[全市人员疫苗接种表.xlsx]Sheet1!$B:$D,3,
6、选择FALSE,并补全右括号,公式变成=VLOOKUP(B:B,[全市人员疫苗接种表.xlsx]Sheet1!$B:$D,3,FALSE)。选择FALSE有两种方法:1是双击FALSE,2是按向下方向键,把光标定位到FALSE上,输入ALT+Tab键
5、双击D2单元格,向下填充公式,完工。过程演示如下:

二 公式解读与原理解析
VLOOKUP函数一共有4个参数(参数概念请移步),分别是:这里结合公式=VLOOKUP(B:B,[全市人员疫苗接种表.xlsx]Sheet1!$B:$D,3,FALSE)进行说明:
1、B:B:表1的身份证号,函数的第1个参数,代表查找值。我们的目的是利用表1的身份证号和表2的身份证号比较,获取表2疫苗接种这列的对应值。
问:为什么用身份证号做比较,用姓名这一列不可以吗?
答:不可以。Vlookup函数要求第一个参数必须是唯一值,数身份证号是绝对不会重复的,而姓名有可能出现重名的情况。
2、$B:$D:表2的B到D列,函数第2个参数,代表查找区域;其中$B列是匹配列,用来和第1个参数比较,$D列是返回值所在列,身份证号相同,返回D列的值
问1:美元符号“$”是啥意?
答:Excel中引用符号,系统自动添加,不用管。
问2:[全市人员疫苗接种表.xlsx]Sheet1!这部分内容有什么用?
答:表示函数获取的全市人员疫苗接种表这张表中的sheet1的数据,函数自动添加的,不用管。
3、数字3:函数第三个参数,查找结果在第几列。因为表2中从B列到D列一共是3列,所以写3。
问1:为什么一定要从B列开始、D列结束?
答:因为B列是身份证号,D列是疫苗接种情况。从B列开始、到D列结束,就是告诉函数用表1的身份证号和表2的身份证号比较,如果身份证号一致,就把D列对应的值放到表1中。换句话说,第一个参数用什么数据做查找值,这里就从哪一列开始选数据,一直选到我们想要的数据所在列。
问2:如果表2的身份证号列在F列,疫苗接种在J列,怎么办?
FJ5
问3:在表2中选数据时,能不能倒着选?即从D列开始往前一直选到B列,或者从J列一直到选到F列。
答:不可以。Vlookup函数规定数据必须从左向右查找匹配,所以参数2中,匹配列一定要在返回值所在列的左边,倒着选数据等于把匹配列放到了返回值所在列的右边,是查不到数据的。
4、FALSE:匹配模式中的精确匹配。工仔推荐使用精确匹配模式,即FALSE。注意:函数默认是的是模糊匹配模式 ,也就是TRUE。
三 其它事项:
1、VLOOKUP函数一次只能查找匹配一列数据,如果你想获取多列数数据,只能多写几次VLOOKUP函数。一次性查找多个表中的数据,请移步2、Vlookup函数在两个工作簿中、两个sheet页、甚至是在同一个sheet页的不同列查找数据,操作流程和注意事项是一样。
3、VLOOKUP函数只能进行纵向查找匹配,也就按照列来获取数据。如果你想横向查找数据,可以用HLOOKUP函数,工仔下篇文章会讲到,敬请期待。