可以啊,不复杂。
sheet1的信息表C列为学生姓名,E列为宿舍号
sheet2A列为宿舍号,B:F为填入姓名。
那么宿舍号使用公式:
=IFERROR(INDEX(Sheet1!$E:$E,MATCH(0,COUNTIF(A$1:A1,IF(Sheet1!$E:$E<>"",Sheet1!$E:$E,"宿舍号")),)),"")
姓名使用公式:
=INDEX(Sheet1!$C:$C,SMALL(IF(Sheet1!$E:$E=$A2,ROW($1:$11),65536),COLUMN(A1)))&""
以上公式均为数组公式,使用Ctrl+Shift+Enter结束输入。姓名公式右拉,下拉即可。
=IFERROR(INDEX($B$1:$B$5,SMALL(IF($C$1:$C$5=$E1,ROW(C$1:C$5),4^8),COLUMN(A1)),),"")
输入公式右拉下拉
数组函数Ctrl+shift+enter三键结束
都放入一个单元格内
=textjoin(",",,if(sheet1!e$2:e$100="C203",sheet1!c$2:c$100,""))
下拉填充