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

2024-10-31 14:13:19
推荐回答(3个)
回答1:

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

回答2:

假设sheet1的A列为供应商名称
在sheet2将该供应商的所有数据取出来
sheet2的A1输入公式
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$100="供应商名称",ROW($1:$100),65536),ROW(1:1)))
此公式为数组公式,按ctrl+shift+enter结束
A1公式向右和向下复制,就行了

回答3:

数据透视分析表啊,双击一下供应商对应的金额,就会出现明细了