这个超好用的 Vlookup 万能查找公式,让你的效率快速提升

2022-11-23 19:13:04 浏览数 (1)

Excel 有个特点,上手容易精通难。

即使是经常使用 Vlookup 的你,以下 3 个小技巧,也不一定统统都会。

不信?

那就和我一起来瞧一瞧~

假如你现在拿到了一张表格,如下图,一共有 4 张工作表,它们分别是:

「查询表」、「销售一部」、「销售二部」和「销售三部」。

现在需要你从各个销售部门中找到「查询表」里员工 9 月销售额并填到对应位置,你会怎么做?

这里可以分为两种情况:

你知道「查询表」里的员工是哪个部门的。

你不知道。

第一种情形的话,好说,用 Vlookup 依次从各个表里面查找并提取数据就行。

如果是第二种情况,就要复杂一点点了。

推荐给你一套组合函数:Iferror Vlookup

完整公式如下:

代码语言:javascript复制
=IFERROR (IFERROR (VLOOKUP (A2, 销售一部!$B$2:$C$8,2,0),VLOOKUP (A2, 销售二部!$B$2:$C$9,2,0)),VLOOKUP (A2, 销售三部!$B$2:$C$10,2,0))

大概意思是,如果在销售一部找不到,就去销售二部找,再找不到就去销售三部(找完所有表还是没有的话,会显示为乱码#N / A)。

3 个表,用 3 个 Vlookup,2 个 Iferror;n 个表,就用 n 个 Vlookup,(n-1) 个 Iferror 嵌套。

超级简单有木有~

这种方法的优点是理解成本低,只需要根据工作表数量嵌套 Iferror 和 Vlookup 函数就可以了。

但缺点也很明显,一旦表格数量太多,那公式就有亿点点长了……

再推荐给你一个万能套路公式,如下图。

完整公式如下:

代码语言:javascript复制
=VLOOKUP (A2,INDIRECT (LOOKUP (1,0 / COUNTIF (INDIRECT ({"销售一部";"销售二部";"销售三部"}&"!B:B"),A2),{"销售一部";"销售二部";"销售三部"})&"!B:C"),2,0)

你只要会修改以下参数,就可以套用该公式:

A2:Vlookup 的查找值;

{} 数组里的内容:{"销售一部";"销售二部";"销售三部"} 多个工作表名称,用分号分隔;

B:B:查找值在各个表中的哪一列,需要确定各个表的该列是否存在这个查找值;

比如上面这个案例中,查找值在表格的 B 列,所以是 B:B;

B:C:vlookup 的查找区域;

2:返回值的列数,9 月销售额是在 B:C 区域中的第 2 列。

注意:使用这种方法,所有工作表的结构必须一致。

学会了前两种方法,基本可以满足你跨表查找的需求了。

但是,我还是想把这最后一种方法也分享给你。

因为,它真的太好用了!!!

完整公式如下:

代码语言:javascript复制
=VLOOKUP(A2,VSTACK(销售一部: 销售三部!$B$2:$C$10),2,0)

公式含义:

先用 VSTACK 函数将三个表中 B2:C10 的数据竖直拼接起来,然后用 Vlookup 函数在这些数据里查找。

是不是很容易就明白了?!

不过,使用这个函数还有一些注意事项,记得拿小本本记下来哈~

B2:C10 是根据数据最多的一个工作表的来填写的,不能直接选择整列。比如本案例中,销售一部、销售二部的查找区域都是 B2:C9,销售三部是 B2:C10。

❷ VSTACK 函数目前只有 Office 365 可以用,其他版本无法使用。

写到最后:

❶ 我们只要碰到从表格中查询并列出匹配信息的情形,首先就应该考虑「Vlookup 能不能做到」。

❷ 当 Vlookup 出错时,注意检查这 4 件事:

检查函数拼写和符合是否完全正确;

检查每一个参数是否按要求填写;

检查引用区域是否包含查找对象(特别是批量填充公式时,引用范围是否需要锁定);

数据源是否规范一致。

❸ 学函数公式,不要求一次就成功,最要紧的就是动手,边做边观察、调试,如果同时有人一起交流学习,互相促进就更好了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

0 人点赞