效率笔记

查找匹配这件事上越用力,越没效果?原因很反直觉

2 次阅读

VLOOKUP 拉下来一片 #N/A,不知道错在哪。 本文从反常识的角度讲查找匹配,给出5条可执行方法、1个真实案例和3个常见坑。

查找匹配这件事上越用力,越没效果?原因很反直觉

先看一句你可能听过的建议。

VLOOKUP 拉下来一片 #N/A,不知道错在哪。

这句话不算错,但它只在一个前提下成立——而这个前提,很多人的场景里并不满足。

先把查找匹配这件事的真实机制说清楚,再讲怎么做。

先说说那个流传很广的说法

把第四个参数省略。省略就是模糊匹配,结果会莫名其妙地对错行。

这句话之所以流行,是因为它在某种情况下确实成立。但很多人把它当成通用规则,结果就是用错了场合。

真正的机制是这样的:方法本身没错,错在它假设了一个前提——而这个前提在你的场景里不成立。

真正管用的做法

下面这几条,可能和你现在的做法相反。先别急着否定,看完再判断。

1. 查找区域用绝对引用

$A$2:$C$100。不锁的话下拉就错位,这是第二常见的错。

2. 反向查找直接用 XLOOKUP

=XLOOKUP(E2,B:B,A:A)。XLOOKUP 不要求查找列在最左,也不数第几列。

3. 多条件用连接符

=XLOOKUP(E2&F2,A:A&B:B,C:C)。把两个条件拼成一个键,做唯一匹配。

4. 匹配不上先查数据类型

一边是文本一边是数值,长得一样也不相等。用 =ISNUMBER 或 =ISTEXT 验一下。

5. 大量匹配前先做去重检查

查找列有重复值时,任何查找函数都只会返回第一条。先确认唯一性。

一个真实的反例

一位 HR 要从 3000 人名单里匹配部门。

做法是:原来用 VLOOKUP 一片报错,检查后发现查找列有前导空格。

结果是:用 TRIM 清洗后一次匹配成功,剩下的 #N/A 是真的人员不在名单里。

这个例子不复杂,难的是每次都这么做。可以照着做,也可以只挑其中一步先试。

整个过程里没有出现什么复杂工具,改的都是顺序和标准。这也是它能被复制的原因——不需要天赋,只需要不再省那一步。

几个常被问到的问题

问:照着做了,还是没效果,为什么?

答:不要直接删掉 #N/A。那可能正是需要你处理的数据缺口。 先回头检查这一条,多数时候问题在这里。

问:要多久才能见效?

答:第一周通常只是熟悉流程,第二周才开始省时间。如果两周后完全没感觉,回头看看是不是漏了第一步。

问:第一步该从哪里开始?

答:所有 VLOOKUP 补上第四个参数 0。从这一件开始,别一次全上。

问:最容易犯的错是什么?

答:不用绝对引用。公式一往下拉,查找区域跟着跑。

几个容易踩的坑

这几条比方法更值得看,因为方法可以慢慢学,坑踩一次就要花时间填。

  • 不要用模糊匹配查文本。第四个参数留空是很多错误的根源。
  • 不要在查找列里混用文本和数字。

明天就能做的事

不用全做,挑一件今天就能开始的。

  • 所有 VLOOKUP 补上第四个参数 0
  • 查找区域改成绝对引用
  • 报错的先做一次 TRIM 清洗

可以直接用的一段话

如果你平时用 AI 帮忙,下面这段可以直接复制,把方括号里的内容换成你的情况。

我的公式是 =VLOOKUP(...),返回 #N/A。请列出五种可能原因和对应的排查方法。

最后

反常识的说法值得听,但别急着全盘接受。拿一个你自己的场景试一次,比争论有用。

别急着推翻原来的做法,先试这一件:报错的先做一次 TRIM 清洗。试完再判断。

评论 0

还没有评论,来说两句。

评论需审核后显示