VLOOKUP用法怎么少走弯路:从匹配不上到一次做对
同事把两张表甩过来,法少说“用VLOOKUP对一下”,走弯做对你写完公式一拉,匹配满屏的不上#N/A。这不是到次你公式记错了,多半是法少数据本身在捣乱。下面按我平时在工位上排查的走弯做对顺序说,能帮你把VLOOKUP用法少走弯路。匹配
先把四个参数说清楚,不上别急着写整列
VLOOKUP就四个参数:找什么、到次在哪找、法少返回第几列、走弯做对精确还是匹配近似。最容易出事的不上是最后一个。做姓名、到次工号、订单号这类匹配,第四参数一定写0或FALSE,也就是精确匹配。省略不写默认是近似匹配,数据没排序时结果会莫名其妙。
第二个参数的区域也有讲究。很多人直接框A:D整列,公式没错但会变慢,数据一多就卡。更稳的写法是框实际范围,比如$A$2:$D$5000,并且用美元符号锁住,这样往下拉、往右拉时区域不会跑偏。
第三个参数是“返回第几列”,数的是区域内的列,不是工作表上的列号。你从B列开始框,那B就是第1列。这一点新手最容易数错,返回出来全是隔壁列的数据。
匹配不上,先查这五个地方
第一,看有没有空格。从系统导出的数据,名字后面常带一个看不见的空格或不可见字符。用TRIM清一下,或者临时用=LEN(A2)对比两边的字符长度,长度不一样就是有隐藏内容。
第二,看数字和文本。左边是文本格式的“1001”,右边是数值1001,看着一样,VLOOKUP就是认不出来。判断方法是选中单元格看左上角有没有绿色小三角,或者用=ISNUMBER()测一下。统一成同一种格式再匹配。
第三,看查找值在不在区域的第一列。VLOOKUP只能从左往右找,查找值必须位于你框选区域的第一列。想反向查,要么调整区域顺序,要么换XLOOKUP或INDEX+MATCH。
第四,看有没有重复值。VLOOKUP遇到多个相同查找值,只返回第一个。如果业务上不该重复,先用条件格式标出重复项再处理。
第五,看区域有没有漏行。插入行、删行之后,原来锁定的区域可能没跟着扩。检查一下区域末尾是不是还停在旧位置。
几个能省时间的习惯
写公式时把查找值也用绝对引用或混合引用想清楚。要往右拉返回多列,第三个参数可以配合COLUMN()自动算,不用一列一列手改。
结果出来别急着交。先抽查三五条,用筛选或手动核对。再用=COUNTIF()数一下匹配上的条数,和源表总数对不上,说明还有漏网的。
如果表特别大、公式特别多,可以把匹配结果复制后“选择性粘贴为数值”,减少重算卡顿。但记得留一份带公式的备份,方便后面改口径。
实在要处理多条件匹配,别硬套VLOOKUP。加个辅助列把两个条件拼起来当查找值,是常见做法;也可以直接用XLOOKUP,新版Office里更直观。具体函数名和支持版本,以你本机Office版本和厂家当期说明为准。
什么情况别自己硬扛
如果两张表来自不同系统,字段口径、编码规则都不一样,先别急着写公式。找业务方确认对应关系,比在Excel里反复试快得多。涉及财务、人事、合同数据,匹配结果要用于对外报送的,建议让数据提供方给一份带唯一键的清单,并且保留核对痕迹。
公式报错本身不可怕,可怕的是错了没发现。凡是用于汇总、上报的VLOOKUP结果,都值得多花两分钟抽查和计数。拿不准的,把原表和公式一起发给懂行的同事或官方支持渠道,比一个人耗一下午强。
下次再遇到匹配不上,按“格式—空格—第一列—重复值—区域范围”这个顺序过一遍,大部分问题当场就能解决。先写对小范围,再往下拉,VLOOKUP用法自然就顺了。
相关文章:
