EXCEL如何实现多条件匹配?

SHEET1
合同名称 收支类型 年限 是否在执行
A 支出 1 是
B 收入 2 是
C 收入 2 否
D 收入 5 是
.......
(源数据表有N行)

SHEET2
合同名称 收支类型 年限 是否在执行
B 收入 2 是
D 收入 5 是

如何能实现:如SHEET1中,该合同为收入类,年限大于1年,且在执行。
则在SHEET2中显示对应行的合同名称?要能显示所有满足条件的合同名称
请大神帮忙,急~~

在SHEET2里面显示SHEET1中满足条件的筛选结果,简单的解决办法就是在SHEET1增加辅助列,用IF判断当前行是否符合筛选条件,符合的结果依次编号1、2、3,不符合的为0;SHEET2里面使用VLOOKUP(辅助列在A)或者INDEX+MATCH获取数据结果。
由于设计两个表都要写公式,如果理解起来有可能,可以【百度云盘】(一个使用百度帐号登录的可以对话和传文件的应用软件)传文件给我做好了回你。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-07-19

利用插入辅助列,通过VLOOKUP函数实现多条件查询匹配数据。

第2个回答  2015-06-07
在Sheet2的A2单元格输入以下数组公式,按Ctrl+SHift+Enter组合键结束,然后向右向下填充公式
=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$B$2:$B$2000="收入")*(Sheet1!$C$2:$C$2000>=1)*(Sheet1!$D$2:$D$2000="是"),ROW($2:$2000),4^8),ROW(A1)))本回答被提问者采纳
第3个回答  2015-06-07
=VLOOKUP($A2&"|"&$C2,IF({1,0},Sheet1!$A$2:$A$100&"|"&Sheet1!$B$2:$B$100,Sheet1!C$2:C$100),2,0)
同时按CTRL SHIFT 回车键,再右拉,下拉追问

请大神详解,不太熟悉这些公式的运用呢

追答

问题解决了?
这些都是数组公式
简单说:同时符合2个条件,就指定显示对应某列数据。

追问

没解决,出现了一堆0

追答

仔细看了下问题和图片
SHEET2的A2输入
=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$B$2:$B$2000="收入")*(Sheet1!$C$2:$C$2000>=1)*(Sheet1!$D$2:$D$2000="是"),ROW(Sheet1!$A$2:$A$2000),65536),ROW(A1)))

同时按CTRL SHIFT 回车键,再右拉,下拉公式

追问

可以了,非常感谢~

追答

解决了就好
=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$B$2:$B$2000="收入")*(Sheet1!$C$2:$C$2000>=1)*(Sheet1!$D$2:$D$2000="是"),ROW(Sheet1!$A$2:$A$2000),65536),ROW(A1)))

这个公式保险点
无论SHEET1增加或减少行数,都不会错。

相似回答