vlookup一对多查询并相加(Vlookup函数一对多多对多查询)
hello大家好,我是小E,VLOOKUP函数大家并不陌生,Excel数据匹配神器,一对一精准匹配数据。
但是在某些情况下,单靠Vlookup函数很难实现数据查找。
如下图中,根据AB列的数据源,匹配查找出深圳这个城市所有的订单,由于vlookup默认返回查找到的第一个值,仅用vlookup函数的话,无法返回全部的订单。
下面是多条件匹配查找,根据A-D列的数据源,查找同时满足城市、邮寄方式、商品分类三个条件的销售额情况。
上面两种情况在仅靠vlookup函数很难完成,但是借助辅助列,就可以轻松搞定。
一对多查询vlookup函数实现的是精准匹配,针对一列相同的内容,函数仅会返回第一个值;为了实现精准匹配,我们可以把相同的内容变成不同的内容。
首先我们在城市列前方插入两列辅助列,在B2单元格内输入公式:
=COUNTIF($C$2:C2,C2)
注意相对引用与绝对引用,公式下拉,可以发现,相同的城市被从小到大编号;
接着在A2单元格输入公式:
=C2&B2
这样相同的城市变成了城市1、城市2,以此类推,有了编号的加持,相同城市变成了不同城市。
接着在G2单元格内输入公式:
=VLOOKUP($F2&COLUMN(A1),$A:$D,4,0)
公式向后拖动,向下拖动,完成数据的匹配。
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函数进行数据匹配。
直接在J2单元格内输入公式:
=VLOOKUP( G2&H2&I2,A:E,5,0)
vlookup参数一G2&H2&I2直接将三个字段合并成了一个字段;当然你也可以直接在单元格中建立一列辅助列。
这种方法比较简单快捷,掌握了vlookup函数,搭配辅助列,轻松搞定。
当然,多对多查询,不建立辅助列,直接用lookup函数可以搞定。
LOOKUP搞定多对多在下图J2单元格内输入公式:
=LOOKUP(1,0/((A:A=G2)*(B:B=H2)*(C:C=I2)),D:D)
公式下拉,返回正确的结果,以为到位。
但是公式书写较为繁琐,还是推荐使用vlookup函数搭配辅助列的方式,lookup函数略做了解即可。
小结一对多查询、多对多查询的小技巧分享给大家,善用辅助列,可以解决很多小问题~
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com