求一个多条件查询且排序的公式
如图:要在上面数据表中利用公式查询指定班级的学生姓名:
1、若K5单元格选择的是“在籍”则班级按C列数据查找;若K5单元格选择的是“就读”,则班级按D列数据查找;
2、查询出的学生姓名按H列年级名次排序,若名次并列按自然顺序。
=LOOKUP(,0/(SMALL(--TEXT((IF($K$5="就读",$D$2:$D$28,$C$2:$C$28)=$L$5)*$H$2:$H$28,"0;;100;")+ROW($2:$28)*1%%,ROW(A1))=($H$2:$H$28+ROW($2:$28)*1%%)),$E$2:$E$28)数组公式 =IFERROR(INDEX(E:E,MOD(SMALL(IF((OFFSET($C$2,,MATCH($K$5&"*",$C$1:$D$1,0)-1,COUNT(C:C))=$L$5)*($J$5=$A$2:$A$28),($H$2:$H$28)/1%%+ROW($H$1:$H$27),""),ROW(A1)),10^4)+1,),"") 但是这个公式没有筛选不同年级的数据 这个行了,谢谢! 修改了公式,用这个
=IFERROR(INDEX(E:E,MOD(SMALL(IF((OFFSET($C$2,,MATCH($K$5&"*",$C$1:$D$1,0)-1,COUNT(C:C))=$L$5)*($J$5=$A$2:$A$28),($H$2:$H$28)/1%%+ROW($H$1:$H$27),""),ROW(A1)),10^4)+1,),"") 啊,是的,没注意到,如下参考
=IFNA(LOOKUP(,0/(SMALL(--TEXT((IF($K$5="就读",$D$2:$D$28,$C$2:$C$28)=$L$5)*$H$2:$H$28*($A$2:$A$28=$J$5),"0;;100;")+ROW($2:$28)*1%%,ROW(A1))=($H$2:$H$28+ROW($2:$28)*1%%)),$E$2:$E$28),"") 收藏了,慢慢学习 数据透视表~~~~~~~~~~~
谢谢。但数据透视表生成的表格不好控制打印。
页:
[1]