不同数据根据条件查找符合条件的多个数值已知条件自动查询的函数公式?

一、案例如下图所示,A1:C8为某小区住户信息表,要求根据楼栋和房号查询住户姓名。二、解决方法方法一、INDEX+MATCH函数在G2单元格输入公式=INDEX($C$2:$C$8,MATCH(1,($A$2:$A$8=E2)*($B$2:$B$8=F2),0))按Ctrl+Shift+Enter结束公式输入。公式解析:(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)公式解析:(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结束公式输入。公式解析:(1)IF({1,0},$A$2:$A$8&$B$2:$B$8,$C$2:$C$8)用于构造如下图所示的内存数组:$A$2:$A$8&$B$2:$B$8将两个查询条件所在的列合并为一列;C2:C8作为新生成的数据区域的第二列。(2)VLOOKUP函数则在IF函数生成的内存数组中查询“6303”(即E2&F2的值),并返回第2列也就是“住户”所在列的值。}

我要回帖

更多关于 根据条件查找符合条件的多个数值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信