Excel应用中,经常会遇到多条件查询,就是要查询的条件不仅仅只有一个,而是有多个条件。你会怎么做?今天我们就来挖一挖都有哪些方法。

如下图所示,是一份某项目比赛获奖名单。现要查询专业是外语系,且获一等奖的获奖人员姓名。这里查询获奖人员的判断条件是专业和获奖类别,两者同时为真时,查询出对应的结果。这就是我们今天要说的多条件查询。




mysql按多条件分组统计 mysql多条件批量查询_函数返回


方法一:插入辅助列,利用vlookup函数进行查询

本方法是:

1、 先在原表的最前面插入辅助列,辅助列的内容为专业和获奖类别两列内容的合并。合并内容直接利用公式完成,即在辅助列A3单元格输入公式:=B3&C3,然后公式向下填充。


mysql按多条件分组统计 mysql多条件批量查询_多条件查询_02


2、 然后再使用vlookup函数进行查找。

即在H3单元格里输入以下公式:

=VLOOKUP(F3&G3,A:D,4,0)

查询结果就出来了。


mysql按多条件分组统计 mysql多条件批量查询_数组_03


方法二:vlookup函数结合数组公式进行查询

即在H3单元格里输入以下公式:

=VLOOKUP(E3&F3,IF({1,0},A3:A11&B3:B11,C3:C11),2,0)

然后按Ctrl+Shift+回车键。


mysql按多条件分组统计 mysql多条件批量查询_数组_04


公式说明:

上述公式时有一个数组公式,=iF({1,0},A3:A11&B3:B11,C3:C11)。

先说下if函数的语法:

if(条件,条件为真的返回值,条件为假的返回值)。

则上述公式里的数组公式:

=iF({1,0},A3:A11&B3:B11,C3:C11)

可以理解为:

=if(1, A3:A11&B3:B11, C3:C11),返回A3:A11&B3:B11;

=if(0, A3:A11&B3:B11,C3:C11),返回C3:C11。

所以,当if函数第一参数为数组时,会分别进行计算。即先用1作为参数判断,返回结果A3:A11&B3:B11;再用0作为参数判断,又返回一个结果C3:C11。然后两个结果重新组合一个数组:A3:A11&B3:B11在第一列,C3:C11在第二列。

说到这里公式=iF({1,0},A3:A11&B3:B11,C3:C11)返回的结果就很明显了吧。

它的返回值为:

{“计算机系一等奖”,”小高”;”计算机系二等奖”,”小王”; ”计算机系三等奖”,”小方”; “外语系一等奖”,”小张”;”外语系二等奖”,”小郑”; ”外语系三等奖”,”小黄”; “数学系一等奖”,”小谢”;” 数学系系二等奖”,”小周”; ” 数学系三等奖”,”小蔡”;}。

此方法就是把多条件通过内存数组合并为一个条件来进行查找。

方法三 使用index函数和match函数相结合

即在H3单元格里输入以下公式:

=INDEX(C3:C11,MATCH(E3&F3,A3:A11&B3:B11,0))

然后按Ctrl+Shift+回车键。


mysql按多条件分组统计 mysql多条件批量查询_多条件查询_05


本方法中,在match函数里面,先用连接符&,把两个条件连接起来,变成一个条件,用match函数返回指定数值E3&F3在指定数组区域A3:A11&B3:B11中的位置;然后再用index函数返回该位置在指定区域C3:C11的值。

多条件查询的方法先分享这三种方法,还有其它方法,大家可以自己在去研究研究哦。