直奔正题:能不能使用VLOOKUP函数做多条件查询?
VLOOKUP函数的第2个参数是Array,也就是说,第2个参数可以是工作表的单元格区域,也可以是构建的数组,这样,我们就可以进行多条件查找了,只要你想办法构建这个Array就可以。
例如,下图所示的数据,有几个重名的人,但在不同的部门,这样,同时指定姓名和部门,就可以将该员工的信息查询出来,公式如下:
=VLOOKUP(F2&F3,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)
这个公式的核心是使用IF函数构建一个数据表:
IF({1,0},A2:A13&B2:B13,C2:C13)
它有两列数据,第一列是姓名和部门连接成的新文本,第二列是学历,如下图,这样,将查询条件也连接成一个新文本条件值,从而实现从第一列匹配新条件,从第二列提取数据。

如果不使用这样的方法来构建公式,我们则需要在工作表上设计辅助列,将姓名和部门连成一个新文本列,这个道理,与公式中连接是一样的。
例如,对于下图,有几个重名的、在不同部门或同一个部门、不同性别的人,如果将姓名、部门和性别组合起来,就是唯一条件了,这样,我们可以根据姓名、性别和部门来查找学历,查找公式如下:
=VLOOKUP(G2&G3&G4,IF({1,0},A2:A13&B2:B13&C2:C13,D2:D13),2,0)

这个公式的核心是使用IF函数构建一个数据表:
IF({1,0},A2:A13&B2:B13&C2:C13,D2:D13)
它有两列数据,第一列是姓名、性别和部门连接成的新文本,第二列是学历,如下图。

这种多条件查询,我们也可以联合使用INDEX和MATCH函数构建数组公式,参考公式如下,这个公式也是很好用的,其逻辑也很简单:
=INDEX(D2:D13,MATCH(G2&G3&G4,A2:A13&B2:B13&C2:C13,0))
不论是使用VLOOKUP函数做多条件查找,还是联合使用INDEX和MATCH函数做多条件查找,核心思路就是将这些条件连接成一个条件,这样才能精确定位并取数。
===========================
下面高能,下滑慎重!
最近文章一览表:
-
左边是解决方案,右边也是解决方案(关于函数公式的逻辑思路)
-
继续介绍函数:多个关键词组合的数据查找
-
一个看似复杂问题,其实有多种解决思路(心有佛就是佛,心有魔就是魔)
-
从日记账表获取最新余额,几个不同公式,带来不同思路 -
一个OFFSET和MATCH,就让表格结构快速转换
-
好复杂的数据查找!(其实很简单)
-
利用VLOOKUP函数进行多条件查找
-
神奇!SUMIFS函数也可以实现 与条件和或条件 进行组合的求和
-
关于函数公式学习的几个注意事项,你不了解就亏大了
-
这个案例挺难的(恐惧着慎看)
-
前N大客户自动分析模型(涉及到了较难的函数和数组公式)
-
再复杂的问题,架不住分解综合法来解决(超实用技能,收藏!)
---------------------------------------
数据分析可视化系列图书,陆续上市,京东,当当,淘宝、天猫等各大网站均有销售,请搜索“韩小良”查询购买。






