Excel应用中,经常会遇到多条件查询,就是要查询的条件不仅仅只有一个,而是有多个条件。你会怎么做?今天我们就来挖一挖都有哪些方法。
如下图所示,是一份某项目比赛获奖名单。现要查询专业是外语系,且获一等奖的获奖人员姓名。这里查询获奖人员的判断条件是专业和获奖类别,两者同时为真时,查询出对应的结果。这就是我们今天要说的多条件查询。
方法一:插入辅助列,利用vlookup函数进行查询
本方法是:
1、 先在原表的最前面插入辅助列,辅助列的内容为专业和获奖类别两列内容的合并。合并内容直接利用公式完成,即在辅助列A3单元格输入公式:=B3&C3,然后公式向下填充。
2、 然后再使用vlookup函数进行查找。
即在H3单元格里输入以下公式:
=VLOOKUP(F3&G3,A:D,4,0)
查询结果就出来了。
方法二:vlookup函数结合数组公式进行查询
即在H3单元格里输入以下公式:
=VLOOKUP(E3&F3,IF({1,0},A3:A11&B3:B11,C3:C11),2,0)
然后按Ctrl+Shift+回车键。
公式说明:
上述公式时有一个数组公式,=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+回车键。
本方法中,在match函数里面,先用连接符&,把两个条件连接起来,变成一个条件,用match函数返回指定数值E3&F3在指定数组区域A3:A11&B3:B11中的位置;然后再用index函数返回该位置在指定区域C3:C11的值。
多条件查询的方法先分享这三种方法,还有其它方法,大家可以自己在去研究研究哦。