excel如何把相同班级的学生信息自动分类生成到新的表格中。(不用排序、自动筛选)

如表格1中有4列:序号、姓名、性别、班级,现在要把表格1中的内容按班级自动生成到表格2中,表格2中A-D列为1班,F-I列为2班,以此类推。当我修改表格1中的学生班级时,他的班级信息等在表格2中自动改了,也就是他的名单信息会出现在现班级名单中。
这是表格1,下面是表格2:

可考虑用数据透视表,透视表中,将班级放到筛选器,得到的结果与你需要的基本一致,且数据透视表操作灵活,点几点鼠标就能得到不同的透视效果,相当好用。追问

透视表我不会用,能不能用excel公式?

追答

用公式当然可以,但你这种需求远没数据透视表好。
如何做数据透视表,请参照本人上传的简单演示动画:
http://pan.baidu.com/s/1uihPW
公式的方法:
表2中A2中输入公式:
=INDEX(表1!$A:$A,SMALL(IF(表1!$D$2:$D$500=1,ROW($D$2:$D$500),4^8),ROW(1:1))&""
同时按Ctrl+Shift+Enter三键输入数组公式,下拉至出现空白单元格
B2中输入公式:

=INDEX(表1!$B$2:$C$500,MATCH($A2,表1!$A$2:$A$500),COLUMN(A:A))
右拖C2,再下拉到A列平齐。
其他班的公式自己修改,把第1个公式中的“=1”修改到需要的班
自己修改公式中的500到与表1中的实际行数相一致。
PS:设计公式,打这么多字,应该不只值10分悬赏吧,呵呵。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-08
1、利用数据源,点击插入-数据透视表2、字段都放到行字段,编码放到报表筛选3、点击选项-选项-显示报表筛选页,点击确认,拆分完成!
第2个回答  推荐于2017-12-15
假设表1的名称为:sheet1,则表2的A2:
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$D$2:$D$1000=D2,ROW(Sheet1!$D$2:$D$1000),4^8),ROW(1:1)))&""
然后按Ctrl+Shift+Enter组合键完成公式输入。
B2:
=INDEX(Sheet1!B:B,SMALL(IF(Sheet1!$D$2:$D$1000=D2,ROW(Sheet1!$D$2:$D$1000),4^8),ROW(1:1)))&""
C2:
=INDEX(Sheet1!C:C,SMALL(IF(Sheet1!$D$2:$D$1000=D2,ROW(Sheet1!$D$2:$D$1000),4^8),ROW(1:1)))&""
同理都是按组合公式输入。
最后再一起向下填充。本回答被提问者和网友采纳
第3个回答  2016-07-26
用数据透视就可以了
相似回答