excel中如何在一个表中查询另一个表中符合某一条件的多条记录?

用Vlookup函数,可以做到。

1、查找表中数据如下图:

其中C列输入辅助函数为“=countif(D$1:D1,sheet1!A$1),下拉

2、查找表中为如下图所示:

在查找结果中输入”=IFERROR(VLOOKUP(ROW(sheet2!C1),sheet2!C:E,3,0),“”)。

3、原理是通过countif函数,将查找多个相同的对象进行编号,再使用Vlookup查找同个查找对象的不同编号,达到查找满足同个条件的多个选项的效果,iferror函数在2003中不能使用,可以用if函数代替,这里使用iferror的作用是将出现查找引用不到的单元格转换成空格,这个功能用if函数也可以代替

这里注意的是:

1)lookup函数中的row函数,查找数据中引用的是sheet2!C1,这里ROW(sheet2!C1)的结果为1,当从sheet2!C2开始引用的时候,用上面的函数就会出现查找缺失编号为1的一项,因此,要改变函数将ROW(sheet2!C1)改为ROW(sheet2!C1)-1,目的是要vlookup函数的查找编号始终从1开始,确保查找对象的齐全。

2)查找结果单元格中下填充函数的单元格尽可能的多,确保满足显示所有符合条件的结果。

3)查找单元格可以用数据有效性>序列,编辑查找序列,或引用已经编辑好的单元格,通过下拉菜单来查找,更显得方便快捷。

AI助手