EXCEL返回满足条件的所有记录的函数,即用一个函数来筛选出一个符合给定条件的数组。

查找记录时,当存在多条满足条件的记录时,VLookup函数和HLOOKUP函数只能返回第1条满足条件的记录,想问一下,要想返回所有满足条件的记录,应该有什么函数呢,在此请教大家了,先道声谢谢了。
需要运用公式的几个单元格如图,我也传上来了。麻烦高手解答。

第1个回答  2011-08-13
这个情况,可以用数组公式,也可以添加辅助列解决,
数组公式举例
假设 数据 在 A B两列
假设A列数据中 有重复项 X (当然,重复次数未知)
将X输入 C1
D1输入公式
=IF(ISERR(INDEX(B$1:B$100,SMALL(IF(A$1:A$100=C$1,ROW($1:$100),""),ROW(A1)),1)),"",INDEX(B$1:B$100,SMALL(IF(A$1:A$100=C$1,ROW($1:$100),""),ROW(A1)),1))
CTRL SHIFT 回车结束,
向下填充,即可
第2个回答  2011-08-13
需要用index+small组成的数组公式
举例,将sheet1表A列为"张三"的所有记录提取出来
则sheet2的A1输入公式
=index(sheet1!a:a,small(if(sheet1!$a$1:$a$100="张三",row($1:$100),4^8),row(1:1)))&""
数组公式以ctrl+shift+enter三键组合结束
公式往右拉然后全选第一行往下拉
第3个回答  2011-08-13
问题问得比较笼统,只能说个大概,用INDEX+SMALL+IF函数吧本回答被提问者采纳
第4个回答  2011-08-19
用数据库函数吧