怎么查找同一条件不同的数据(如何根据多个条件查找数据)

一、案例

如下图所示,A1:C8为某小区住户信息表,要求根据楼栋和房号查询住户姓名。

怎么查找同一条件不同的数据(如何根据多个条件查找数据)(1)

二、解决方法

方法一、INDEX MATCH函数

在G2单元格输入公式

=INDEX($C$2:$C$8,MATCH(1,($A$2:$A$8=E2)*($B$2:$B$8=F2),0))

按Ctrl Shift Enter结束公式输入。

怎么查找同一条件不同的数据(如何根据多个条件查找数据)(2)

公式解析:

(1)($A$2:$A$8=E2)*($B$2:$B$8=F2)用于判断A2:A8的楼栋号是否为“6”,且B2:B8的房间号是否为“303”。当这两个条件均满足时,公式返回“1”,否则返回“0”。返回的结果为{0;0;1;0;0;0;0}

(2)MATCH(1,($A$2:$A$8=E2)*($B$2:$B$8=F2),0)指按精确查找的查找方式在{0;0;1;0;0;0;0}中查找“1”。MATCH函数查找到的“1”在{0;0;1;0;0;0;0}的第3个位置处。

(3)INDEX函数则返回C2:C8区域第3行的数据,即“小乔”。

方法二、LOOKUP函数

在G2单元格输入公式

=LOOKUP(2,1/(($A$2:$A$8=E2)*($B$2:$B$8=F2)),$C$2:$C$8)

怎么查找同一条件不同的数据(如何根据多个条件查找数据)(3)

公式解析:

(1)1/(($A$2:$A$8=E2)*($B$2:$B$8=F2)) 用于判断A2:A8、B2:B8是否同时等于E2、F2指定的楼栋和房间号两个条件,返回结果为

{#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}。返回结果为“1”,说明与E2、F2指定的楼栋和房号相符;否则返回错误值。

(2)LOOKUP函数在

{#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}中查找“2”。由于无法查找到“2”,LOOKUP会查找到“1”,并返回与查找到的“1”相同位置的C2:C8中的值,即“小乔”。

方法三、VLOOKUP IF函数

在G2单元格输入公式

=VLOOKUP(E2&F2,IF({1,0},$A$2:$A$8&$B$2:$B$8,$C$2:$C$8),2,FALSE)

按Ctrl Shift Enter结束公式输入。

怎么查找同一条件不同的数据(如何根据多个条件查找数据)(4)

公式解析:

(1)IF({1,0},$A$2:$A$8&$B$2:$B$8,$C$2:$C$8)用于构造如下图所示的内存数组:

怎么查找同一条件不同的数据(如何根据多个条件查找数据)(5)

$A$2:$A$8&$B$2:$B$8将两个查询条件所在的列合并为一列;C2:C8作为新生成的数据区域的第二列。

(2)VLOOKUP函数则在IF函数生成的内存数组中查询“6303”(即E2&F2的值),并返回第2列也就是“住户”所在列的值。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页