Excel中的多条件匹配问题一直是热门话题。但是,根据匹配结果是数字还是非数字,有些搜索方法并不通用。今天,我们将整理多条件匹配的常用方法,并讲解每种方法的应用,希望对大家的工作有所帮助。
让我们看看今天使用的案例:
需要根据组织和名称分别匹配来自数据源(列A-D)的职级(非数字内容)和基本工资(数字内容)。在这里,我们将结合这个案例介绍各种常用的公式套路。
1.SUMIFS功能实现多条件匹配。
最初,SUMIFS函数是一个多条件求和函数,其格式为:
SUMIFS(求和列,条件列1,条件1,条件列2,条件2 …)。
然而,当只有一个结果同时满足多个条件时,多条件求和相当于多条件匹配。
公式为:=sumifs (d:d,a:a,F2,b:b,G2)。
要引用的列是实际的和列,在本例中,D列和条件列分别是A列和B列。
优点:SUMIFS多条件匹配更方便高效,公式简单易用,添加条件更容易。
不足:当要匹配的结果不是数字时,不能使用此方法。同时,当满足多个条件的数据不是唯一值时,结果可能是错误的。
推荐索引:
2.SUMPRODUCT功能实现多条件匹配。
SUMPRODUCT的功能是计算多个数组或区域的数据乘积之和。利用比较运算和逻辑值的特点,还可以实现多条件求和的功能,用于处理多条件匹配。其实和SUMIFS的原理差不多,它的公式是:
=SUMPRODUCT(($ A $ 2: $ A $=F2)*($ B $ 2: $ B $=G2)* $ D $ 2: $ D $)
优点:更容易添加条件。
不足:数组计算,数据量大的时候,不懂函数的用法容易出错,只适用于数字的匹配结果。
推荐索引:
3.辅助列VLOOKUP功能实现多条件匹配。
VLOOKUP功能最初是根据单一条件匹配的。很多朋友应该都很熟悉这个功能,之前也多次分享过相关教程。
下面是对该函数结构的简要描述:
VLOOKUP(查找值,查找区域,查找哪一列,精确查找)。
这个例子中的公式是:=vlookup(G2“-”H2,$ a $1: $ e $,4,0)。
在这个公式中,搜索条件不是单元格,而是连接组织和名称两个条件的G2“-”H2。
当连接两个条件时,建议在中间加一个分隔符,这样在某些情况下可以避免错误。
因为我们使用的是自己构造的条件,而这个条件在数据源中是不存在的,所以需要在数据源最左侧增加一个辅助列,如上图A列所示。
辅栏公式为:=B2“-C2”。
优点:当匹配结果为数值或非数值时,可以使用公式,比SUMIFS更适用。
缺点:需要添加辅助列才能使用。难度指数虽然降低了,但会略显繁琐。
推荐索引:
4.VLOOKUP中频功能实现多条件匹配。
这对于VLOOKUP来说是一个很难的套路,公式是:
=VLOOKUP(F2G2,IF({1,0},$ A $ 2: $ A $ $ B $ 2: $ B $,C$2:$C$),2,0)
对于这个公式例程,关键是IF部分,空间有限,所以我们不做过多的公式原理解释。我们只需要知道IF函数的第二个参数是合并数据源中的两列,第三个参数是数据源中需要匹配结果的列。同时公式需要按CTRL SHIFT ENTER键输入,遇到问题可以应用。
优点:无辅助柱,一步一个脚印。
缺点:不适合初学者;当数据量很大时,计算很慢。
推荐索引:
5.VLOOKUP CHOOSE功能实现多条件匹配。
这是用CHOOSE函数代替前面公式中的IF,公式为:
=VLOOKUP(F2G2,CHOOSE({1,2},$ A $ 2: $ A $ $ B $ 2: $ B $,C$2:$C$),2,0)
CHOOSE是这个公式例程的核心,它还构造了一个合并的搜索列。对于具体原理,需要了解的可以留言,应用公式解决问题一般就够了。这种形式
缺点:不适合初学者;当数据量很大时,计算很慢。
推荐索引:
6.LOOKUP函数实现多条件匹配。
在常用的引用函数中,LOOKUP无疑是最受欢迎的一个。这个功能充满了很多套路。例如,在多条件匹配中,公式例程是:
=LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2))、结果区域)。
在这种情况下,公式为:
=LOOKUP(1,0/($ A $ 2: $ A $=F2)*($ B $ 2: $ B $=G2))、C$2:$C$)
优点:无需一步使用辅助柱,添加条件方便。它可以用于广泛的应用,无论数字或文本。
不足:会让新手觉得有点害怕。
推荐索引:
7.更多实现多条件匹配的方式。
就公式而言,除了上面分享的五个套路,其实还有一些。这里只列出公式套路和适用条件,其他就不一一举例了。例如:
=MAX((条件区域1=条件1)*(条件区域2=条件2)*结果区域),这个公式是一个数组公式,只适合结果为数字的情况。
=INDEX(结果区域,MATCH(条件1,条件2,条件区域1,条件区域2,0)),数组公式,当数量较大时比较卡片。
=XLOOKUP(条件1、条件2、条件区域1、条件区域2、结果区域),一个新函数,只能由office365版本使用。
=FILTER(结果区,(条件区1=条件1)*(条件区2=条件2)),一个新函数,只能由office365版本使用。
总结:对于多条件匹配问题,我们推荐第一、第三和第六种方法。事实上,如果我们不使用公式,透视表和高级过滤器是更好的选择。这些方法将在以后的教程中与您分享。