Excel中多条件查找对满足两个以上条件的数据进行查找并引用

网友投稿 1548 2022-06-04

在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,SUM(IF((Sheet1!A:A00=A1)*(Sheet1!B:B00=B1),ROW(Sheet1!C:C00),0))-1,0,1,1))

注意:输入完公式后要按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。

用VLOOKUP函数解决方法:

=IF(OR(A1="",B1=""),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A:$A00&Sheet1!B:B00,Sheet1!C:C00),2,0))

用INDEX和MATCH函数解决方法:

=IF(OR(A1="",B1=""),"",INDEX(Sheet1!C:C00,MATCH(A1&B1,Sheet1!A:A00&Sheet1!B:B00,0)))

这两个也是数组公式。

另提供两个不用数组公式的解决方法:

=IF(OR(A1="",B1=""),"",INDIRECT("Sheet1!$C"&SUMPRODUCT((Sheet1!A:A00=A1)*(Sheet1!B:B00=B1)*ROW(Sheet1!C:C00))))

=IF(OR(A1="",B1=""),"",LOOKUP(2,1/((Sheet1!A:A00=A1)*(Sheet1!B:B00=B1)),Sheet1!C:C00))

推荐使用VLOOKUP的应用,而且不用太多改变原数据库。

增加对#N/A的判断函数:

更改函数如下(数组函数)

Excel中多条件查找对满足两个以上条件的数据进行查找并引用

=IF(ISERROR(VLOOKUP(A1&B1,IF({1,0},Sheet1!A:$A00&Sheet1!B:B00,Sheet1!C:C00),2,FALSE)),"",VLOOKUP(A1&B1,IF({1,0},Sheet1!A:$A00&Sheet1!B:B00,Sheet1!C:C00),2,0))

如果该位置显示为0 可以使用“条件格式……” 当该格=0时,字体颜色同背景色。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何用excel制作流程图上的文字(怎样做流程图里填入文字)
下一篇:excel如何画上下都有坐标轴的图(excel图标左右坐标轴)
相关文章