方法一:SUMPRODUCT函数法,优点:可自动更新,如数据量大,打开文件时计算慢。缺点:仅支持数值型匹配结果,不支持文本匹配结果。
方法二:SUMIFS函数法,优点:相比SUMPRODUCT函数简单、可自动更新,如数据量大,打开文件时计算慢。缺点:仅支持数值型匹配结果,不支持文本匹配结果。
Switch函数:
Switch函数计算一组表达式列表的值,然后返回与表达式列表中最先为 True 的表达式所相关的 Variant 数值或表达式。
Switch 函数的参数列表由多对表达式和数值组成。表达式是由左至右加以计算的,而数值则会在第一个相关的表达式为 True 时返回。如果其中有部分不成对,则会产生一个运行错误。如果 expr-1 为 True则 Switch 返回 value-1,如果 expr-1 为 False,但 expr-2 为 True,则 Switch 返回 value-2,以此类推。
当没有一个表达式为 True,或者第一个为 True 的表达式的对应值为 Null时,Switch 会返回一个Null值。
虽然它只返回其中的一个值,但是 Switch会计算所有的表达式。因此应该注意到其所产生的副作用。例如,只要其中一个表达式导致被零除错误,则运行就会发生错误。
D2=IF(OR(ISNUMBER(FIND("蔡一成",C2))ISNUMBER(FIND({"开发区","城市管理局"},B2))),03,IF(OR(ISNUMBER(FIND("李京",C2))ISNUMBER(FIND({"消防","公安局"},B2))),0,1))A2
粘贴公示后,左手按住ctrl shift,右手按下回车
几种方法:
1
用
数据透视表
,行标签为物品名称,列标签为客户名称,值为数量和金额的求和
2
sumproduct函数
或者sumifs函数,因为要的数据正好都是可以计算的值,所以可以用这两个函数:
B3=sumproduct(($k$2:$k$16=$A3)($L$2:$l$16=B$1)($m$2:$m$16))
C3==sumproduct(($k$2:$k$16=$A3)($L$2:$l$16=B$1)($n$2:$n$16))
一次类推,公式填充整列
3
第三种用vlookup或者index+match,这种方法要求后面四列的数据唯一性
编按:哈喽,大家好!条件查找是我们工作中比较常见的技巧,但是说到多条件查找,很多同学可能会愣住,该用什么函数呢?比较熟悉的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多条件查找技巧****
原创:老菜鸟/部落窝教育(未经同意,请勿转载)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)