Vlookup函数一对多、多对多查询,就是这简单
标签搜索

Vlookup函数一对多、多对多查询,就是这简单

why
why
2024-12-24 / 0 评论 / 2 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年12月24日,已超过348天没有更新,若内容或图片失效,请留言反馈。

1.jpg
在某些情况下,单靠Vlookup函数很难实现数据查找。

如下图中,根据AB列的数据源,匹配查找出深圳这个城市所有的订单,由于 vlookup默认返回查找到的第一个值,仅用vlookup函数的话,无法返回全部的订单。
2.jpg

下面是多条件匹配查找,根据A-D列的数据源,查找同时 满足城市、邮寄方式、商品分类三个条件的销售额情况。
3.jpg

上面两种情况在仅靠vlookup函数很难完成,但是借助辅助列,就可以轻松搞定。

一对多查询
vlookup函数实现的是精准匹配,针对一列相同的内容,函数仅会返回第一个值;为了实现精准匹配,我们 可以把相同的内容变成不同的内容。

首先我们在城市列前方插入两列辅助列,在B2单元格内输入公式:

=COUNTIF($C$2:C2,C2)

注意相对引用与绝对引用,公式下拉,可以发现,相同的城市被从小到大编号;
4.jpg

接着在A2单元格输入公式:

=C2&B2

这样相同的城市变成了城市1、城市2,以此类推, 有了编号的加持,相同城市变成了不同城市。
5.jpg

接着在G2单元格内输入公式:

=VLOOKUP($F2&COLUMN(A1),$A:$D,4,0)

公式向后拖动,向下拖动,完成数据的匹配。
6.jpg

COLUMN(A1)返回1,$ F2&1=”深圳1“,相当于vlookup函数的参数一是” 深圳1“;

公式向后拖动,参数一变成了$ F2&COLUMN(B1), COLUMN(B1)返回2,就等于” 深圳2“;

以此类推,将每个城市的订单匹配出来,这里 在$F2在F前面加上$符号表示将F列绝对引用,这样公式在向后面拖动的过程中,引用的单元格不会发生变化。

为了防止后面城市数据匹配不到的情况,可以在公式前面加个 IFERROR函数。

=IFERROR(VLOOKUP($F2&COLUMN(A1),$A:$D,4,0),"")

多对多查询
多对多查询,较为常用的方法就是建立辅助列,将 多个字段变成一个字段。

下图中,在表格前方插入一列,输入公式:

=B2&C2&D2

直接将三个字段变成了一个字段,这样在利用vlookup函数进行数据匹配。
7.jpg

直接在J2单元格内输入公式:

=VLOOKUP( G2&H2&I2,A:E,5,0)

vlookup参数一 G2&H2&I2直接将三个字段合并成了一个字段;当然你也可以直接在单元格中建立一列辅助列。
8.jpg

这种方法比较简单快捷,掌握了vlookup函数,搭配辅助列,轻松搞定。

当然,多对多查询,不建立辅助列,直接用lookup函数可以搞定。

LOOKUP搞定多对多
在下图J2单元格内输入公式:

=LOOKUP(1,0/((A:A=G2)*(B:B=H2)*(C:C=I2)),D:D)

公式下拉,返回正确的结果,以为到位。
9.jpg

但是公式书写较为繁琐,还是推荐使用vlookup函数搭配辅助列的方式,lookup函数略做了解即可。

不妨在了解一下 XLOOKUP:

小结
一对多查询、多对多查询的小技巧分享给大家,善用辅助列,可以解决很多小问题~

1

评论 (0)

取消