Excel中多条件查找数据方法
在使用Excel中,如果根据某一个条件,查找表中的值,这是一件较为容易的事情,MATCH()、INDEX()、LOOKUP()、VLOOKUP()、HLOOKUP()等函数均可较为容易的实现。但如果要进行满足多条件查找,则是一件不容易的事情,而工作中会经常遇到需要对满足两个以上条件的数据进行查找并引用的'问题,下面是我提供多种方法如:数组公式、VLOOKUP函数、INDEX和MATCH函数等等,大家可以根据情况选择。SHEET1工作表内容如图:
现在要求在SHEET2工作表的A、B列输入有关内容后,C列自动从SHEET1工作表中查找并引用相应的C列的内容。SHEET2工作表如图:
SHEET2工作表C1单元格使用以下数组公式,可达到目的: =IF(OR(A1="",B1=""),"",OFFSET(Sheet1!$C$1,SUM(IF((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1),ROW(Sheet1!C$1:C$1000),0))-1,0,1,1)) 注意:输入完公式后要按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。
用VLOOKUP函数解决方法:
=IF(OR(A1="",B1=""),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))
用INDEX和MATCH函数解决方法:
=IF(OR(A1="",B1=""),"",INDEX(Sheet1!C$1:C$1000,MATCH(A1&B1,Sheet1!A$1:A$1000&Sheet1!B$1:B$1000,0))) 这两个也是数组公式。
另提供两个不用数组公式的解决方法:
=IF(OR(A1="",B1=""),"",INDIRECT("Sheet1!$C"&SUMPRODUCT((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)*ROW(Sheet1!C$1:C$1000)))) =IF(OR(A1="",B1=""),"",LOOKUP(2,1/((Sheet1!A$1:A$1000=A1)*(Sheet1!B$1:B$1000=B1)),Sheet1!C$1:C$1000))
推荐使用VLOOKUP的应用,而且不用太多改变原数据库。
增加对#N/A的判断函数:
更改函数如下(数组函数)
=IF(ISERROR(VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,FALSE)),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A$1:$A$1000&Sheet1!B$1:B$1000,Sheet1!C$1:C$1000),2,0))
如果该位置显示为0 可以使用“条件格式……” 当该格=0时,字体颜色同背景色。
在excel函数公式中满足2个条件,查找对应数据,有很多种方法,不过通过你的图片说明,完全可以用VLOOKUP函数来做,简单方便。
公式如下:
=VLOOKUP($B15,$B$1:$D$7,C$14+1,)
VLOOKUP函数一共四个参数:
1、查找的值,姓名:
2、被查找的数据区域,也就是需要找出数据对应的那些区域(注意:首列必须包含参数1的值)
3、返回参数2区域的第N列,由C14+1
4、查找模式为精确查找。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)