前言:
如今姐妹们对“c match”可能比较关心,小伙伴们都想要剖析一些“c match”的相关资讯。那么小编同时在网摘上汇集了一些关于“c match””的相关资讯,希望你们能喜欢,大家快快来学习一下吧!一、案例
如下图所示,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列也就是“住户”所在列的值。
标签: #c match