【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)
参考文章: