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时,字体颜色同背景色。
E6是数组公式(回车时必须同时按Ctrl和Shift键):=IF(SMALL(IF((B$2:B$999=F$2)*(C$2:C$999=F$3),ROW(A$2:A$999),999),ROW(A1))=999,"--",INDEX(A$1:A$999,SMALL(IF((B$2:B$999=F$2)*(C$2:C$999=F$3),ROW(A$2:A$999),999),ROW(A1))))
很难解释清楚,自己琢磨吧。可能没时间补充回答。
Excel表格中筛选出多个条件的数据方法有:一是直接筛选,点击筛选下拉按钮依次选择条件;二是利用高级筛选可以将筛选结果放在其他地方,如数据区域在A列至E列,第一行为标题行,将两个条件放在G列和H列,再利用高级筛选功能进行筛选。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)