【Office】excel中用VLOOKUP函数进行数据匹配

经常需要对excel中两个表格的数据通过关联列进行数据匹配,我们通过VLOOKUP函数来实现。

场景

当前有两个sheet,考核员工表和全员考核明细表

表1-考核员工表

表2-全员考核明细表

目标:依据两个表中userid这一列,将表2中对应员工的部门、考核总分、出勤天数匹配给表1对应的员工;

VLOOKUP函数:

=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 

第一个参数:指定用哪个单元格去匹配;

第二个参数:指定查找的区域;

第三个参数:指定要返回的数据在查找区域的第几列;

第四个参数:指定匹配是模糊匹配还是精准匹配。

在知道VLOOKUP函数后我们就可以通过下面的方式来实现我们的目标:

第一步:在表1的C2单元格中插入公式=VLOOKUP(A2,全员考核明细表!A:G,3,0);

第二步:回车后会匹配出对应的部门信息;

第三步:鼠标移到C2单元格的右下角,出现实心的黑色【+】号,双击填充此公式到整列;

匹配考核总分这一列时只需要在表1的D2单元格中将查找区域的返回列改为表2的考核总分列,即为=VLOOKUP(A2,全员考核明细表!A:G,4,0);

【注意】

1、VLOOKUP函数的第四个参数用于指定是模糊匹配还是精确匹配,为0时表示精确匹配,为1或省略时表示模糊匹配。如果忘了设置第4个参数则会被公式误以为是故意省略,按模糊查找进行。

2、引用方式不对使公式复制后产生错误

由于没有使用正确的引用方式,造成在公式复制后查找区域发生变动引起错误。如下图所示,当C9的公式复制到C10和C11后,C10公式返回错误值。

错误原因:由于第二个参数A2:D6是相对引用,所以向下复制公式后会自动更改为A3:D7,而A10单元格中的工号A01所在的行不在A3:D7区域中,从而造成查找失败。

解决方案:把第二个参数的引用方式由相对引用改为绝对引用即可。

B9公式改为:=VLOOKUP(A9,$A$2:$D$6,2,0)

 参考文章:

Excel-VLOOKUP函数跨表匹配查找

Excel的两个表格按照某一列数据进行匹配

Vlookup函数的12种常见错误

原文地址:https://www.cnblogs.com/leiblog/p/15002971.html