如何用vlookup匹配两个表数据:依托唯一字段加绝对引用精准匹配
上周做员工薪资核对的时候,硬生生卡了大半天,反复试错才摸透如何用vlookup匹配两个表数据,之前网上看的教程太笼统,真正上手全是坑,实打实踩雷之后的实操方法,简单直白,照着当时的操作来就能成。
手头当时有两个独立表格,一个是人事统计的员工出勤统计表,一个是财务的薪资核算表,上千条员工数据,需要把出勤表里的加班时长,一一匹配到薪资表对应的员工行里。最开始完全没摸门道,凭着感觉输入公式,结果匹配出来的数据乱七八糟,一半对不上,一半重复出错,越核对越乱。
当时直接懵了。
最开始犯的第一个低级错误,就是随便选了员工姓名当作匹配依据,完全没考虑到公司有两个同名的员工。vlookup本身没办法识别重复信息,只要匹配列有重复内容,它只会抓取第一个匹配到的数据,这就导致同名员工的加班时长全部错乱,整条数据都跟着出错,忙活四十分钟,最后核对下来没有一条是完全准确的。
折腾好久才搞明白,vlookup匹配两个表格的核心前提,就是必须找到一张两个表格共有、且唯一不重复的字段,姓名、部门、岗位这些都不行,最稳妥的就是员工工号、订单编号、身份证号这类专属编码。我当时立刻换掉匹配字段,统一用唯一的员工工号作为关联依据,这一步改完,大半的错误直接消失了。
确定好匹配字段后,就是实打实的公式操作,全程就一套固定操作,没有多余步骤。先打开需要填充数据的目标表格,选中要展示匹配结果的空白单元格,输入VLOOKUP公式,第一个参数选中当前行的唯一工号,第二个参数切换到数据源表格,框选包含工号和待匹配数据的整片区域,第三个参数填写待匹配数据在所选区域里的列数,最后一个参数直接填0,代表精准匹配。
这点真的巨容易忽略。
第二次出错,是因为框选数据源区域之后,没有做固定操作,直接下拉公式批量填充数据。没固定的数据源区域会跟着单元格下拉不断偏移,每往下一行,匹配区域就错一格,最后所有数据全部错位,出现大量错误值。后来才反应过来,框选完数据源区域后,按下F4键锁定单元格,做成绝对引用,再下拉填充,整片区域的匹配范围就不会变动了。
操作完这两步之后,大部分数据都能正常匹配,但还是有十几行显示#N/A的错误符号,肉眼对比两个表格的工号,看着一模一样,就是匹配失败。反复对照之后才发现,部分工号单元格里藏着看不见的空格,两个表格的字符看似一致,实际格式有细微差别。当时直接嵌套了TRIM函数,清除单元格多余空格,把公式优化成带去空格的格式,所有异常错误瞬间全部修复。
全部数据匹配完成之后,看着表格里整齐无误的加班时长数据,删掉了之前反复出错的废弃表格,关掉了满是教程的网页。那一刻只觉得,之前浪费的那些时间,纯属是自己瞎摸索折腾出来的。