快好知 kuaihz

excel数据查找技巧:多条件匹配查找常用方法...

编按:哈喽,大家好!条件查找是我们工作中比较常见的技巧,但是说到多条件查找,很多同学可能会愣住,该用什么函数呢?比较熟悉的VLOOKUP,它的基础用法好像也只适用于单条件查找。别急,今天老菜鸟为大家总结了10种职场人士最常见的多条件查找的方法,赶紧来看看吧!

对于Excel中多条件匹配的问题,永远是一个热点话题,而根据匹配结果是数字还是非数字的时候,有些查找方法又不能通用,今天就对多条件匹配的常见方法做一次梳理,并对每种方法的适用情况做出说明,希望对大家的工作能有所帮助。

先来看看今天用到的案例: 

需要从数据源(A-D列)中按照机构和姓名分别匹配出职级(非数字内容)和基本工资(数字内容),以下就结合本案例来介绍多种常用的公式套路。

一、SUMIFS函数实现多条件匹配

SUMIFS函数本来是一个多条件求和的函数,格式为: 

SUMIFS(求和列,条件列1,条件1,条件列2,条件2……) 

但是当同时满足多个条件的结果只有一个时,多条件求和就等同于多条件匹配。 

公式为:=SUMIFS(D:D,A:A,F2,B:B,G2) 

要引用的列就是实际求和列,本例中是D列,而条件列分别就是A列和B列。

优势:使用SUMIFS多条件匹配时,比较方便高效,公式简单易用,再增加条件也比较容易。

不足:当要匹配的结果不是数字时,就不能使用这个方法了,同时当满足多个条件的数据不是唯一值时,结果可能错误。

推荐指数:★★★★

二、SUMPRODUCT函数实现多条件匹配

SUMPRODUCT函数的功能是计算多个数组或区域的数据乘积之和,利用比较运算和逻辑值的特性,也可以实现多条件求和的功能,用来处理多条件匹配,其实和SUMIFS的原理差不多,公式为:

=SUMPRODUCT(($A$2:$A$15=F2)*($B$2:$B$15=G2)*$D$2:$D$15) 

鉴于之前有多篇教程分析过SUMPRODUCT的用法和原理,这里就不对这个公式过多阐述了。不熟悉的同学可以查看往期教程《加了*的 SUMPRODUCT函数无所不能》 

优势:再增加条件时比较容易。 

不足:数组计算,数据量大时比较卡,对函数的用法不理解容易出错,并只对数字的匹配结果适用。

推荐指数:★★★

三、辅助列+VLOOKUP函数实现多条件匹配

VLOOKUP函数本来是按单条件匹配的,这个函数很多朋友都应该熟悉,之前也多次分享过相关教程。

这里简单说一下函数的结构:

VLOOKUP(查找值,查找区域,第几列找,精确查找)

本例中的公式为:=VLOOKUP(G2&"-"&H2,$A$1:$E$15,4,0)

在这个公式中,查找条件不是一个单元格,而是使用&将机构和姓名两个条件做了连接G2&"-"&H2。

在连接两个条件时,建议在中间添加一个分隔符,这在某些情况下可以避免出现错误。

因为我们使用了自己构造的条件,而这个条件在数据源中并不存在,因此需要在数据源的最左侧添加一个辅助列,如上图中A列所示。

辅助列的公式为:=B2&"-"&C2

优势:公式对于匹配结果为数字或者非数字的时候都可以使用,适用面比SUMIFS更广泛。

不足:要增加辅助列才能使用,虽然难度指数降低了,但是会略显繁琐。

推荐指数:★★★★

四、VLOOKUP+IF函数实现多条件匹配

这是VLOOKUP较有难度的一种套路,公式为:

=VLOOKUP(F2&G2,IF({1,0},$A$2:$A$15&$B$2:$B$15,$C$2:$C$15),2,0)

对于这个公式套路,关键是IF这部分,篇幅所限,不对公式原理做过多解释,只要掌握IF函数的第二参数是将数据源中的两列进行合并,第三参数是数据源中需要匹配结果的列,同时公式需要按CTRL+SHIFT+ENTER键完成输入,遇到问题能够套用就行了。

优势:不用辅助列,一步到位。

不足:不适于新手使用,数据量较大时计算缓慢。

推荐指数:★★★

五、VLOOKUP+CHOOSE函数实现多条件匹配

这是将前一个公式中的IF换成了CHOOSE函数,公式为:

=VLOOKUP(F2&G2,CHOOSE({1,2},$A$2:$A$15&$B$2:$B$15,$C$2:$C$15),2,0)

这个公式套路的核心是CHOOSE,同样是构造了一个合并后的查找列,对于具体原理,需要了解的可以留言,一般能够套用公式解决问题就足够了,这个公式同样需要三键输入。

优势:不用辅助列,一步到位。

不足:不适于新手使用,数据量较大时计算缓慢。

推荐指数:★★★

六、LOOKUP函数实现多条件匹配

在常用的引用函数里,LOOKUP无疑是最受高手喜欢的一个函数了,这个函数充满了很多套路,例如多条件匹配时,公式套路就是:

=LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2)),结果区域) 

就本例而言,公式为:

=LOOKUP(1,0/(($A$2:$A$15=F2)*($B$2:$B$15=G2)),$C$2:$C$15)

关于LOOKUP,之前同样分享过很多教程,需要理解原理的同学,可以查看往期教程《VLOOKUP&LOOKUP双雄战(五):野马崛起!》,一般来说,能够按套路套用公式解决问题就足够了。

优势:不使用辅助列一步到位,增加条件也方便,适用场合广泛,不管数字还是文本都可以使用这个套路。

不足:会让新手有一点畏惧心态。

推荐指数:★★★★★

七、更多实现多条件匹配的方法

公式而言,除了上面分享的五种套路,其实还有一些,这里只列举公式套路和适用条件,其它的就不一一举例了,例如:

=MAX((条件区域1=条件1)*(条件区域2=条件2)*结果区域),这个公式是一个数组公式,只适合结果为数字的情况。

=INDEX(结果区域,MATCH(条件1&条件2,条件区域1&条件区域2,0)),数组公式,量大时比较卡。

=XLOOKUP(条件1&条件2,条件区域1&条件区域2,结果区域),新函数,只有office365版本可以用。

=FILTER(结果区域,(条件区域1=条件1)*(条件区域2=条件2)),新函数,只有office365版本可以用。

小结:对于多条件匹配问题,推荐使用第1、3和6三种方法,其实如果不用公式的话,数据透视表和高级筛选是更好的选择,这些方法会在今后的教程中分享给大家。

****部落窝教育-excel多条件查找技巧****

原创:老菜鸟/部落窝教育(未经同意,请勿转载)

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:查找  查找词条  匹配  匹配词条  条件  条件词条  常用  常用词条  技巧  技巧词条  
办公

 你有没有一个EXCEL技巧是让自...

拥有一技之长,让梦想有更多可能……仅用excel技巧点亮人生,稍显逊色,但足以让自己在圈内有立足之本,引得同事大拇指那是绰绰有余。依我的经验来分享几个Excel...(展开)