EXCEL中如何把数据自动排序并提取?

比如在Sheet1表是所有学生的原始各科的分数数据,我想在Sheet2表里自动提取出Sheet1表里的总分前五名的学生的成绩并按高低排列好?即每次只要把原始的分数数据复制到Sheet1表里,在Sheet2里就自动生成。

第1个回答  推荐于2016-11-28

    在SHEET2的B2中输入
    =INDEX(SHEET1!$C:$C,MIN(IF((SHEET1!$A$2:$A$22=$A2)*(SHEET1!$B$2:$B$22=B$1),ROW($2:$22),999),1))&""

    按【组合键】确认后右拖、下拉填充。

第2个回答  2013-07-02
sheet2某单元格输入
=LARGE(sheet1!A:A,row(a1))
公式下拉到第五行追问

你好,感谢你的回答。这个公式只能提前学生的成绩,而我需要自动生成的是学生的姓名、成绩。

追答

假定原始表为sheet1
查询表的
a2输入="第"&ROW(A1)&"名"
b2输入=INDEX(Sheet1!A:A,MATCH(LARGE(Sheet1!F:F,ROW(A1)),Sheet1!F:F,0))
C2输入=LARGE(Sheet1!F:F,ROW(A1))
三公式下拉复制到第5行

可以一直下拉得到总排名

本回答被提问者采纳
第3个回答  2013-07-02
假设原始数据时sheet1表的A列,sheet2表从任意列第1-5行依次输入
=LARGE(sheet1!A:A,1)
=LARGE(sheet1!A:A,2)
=LARGE(sheet1!A:A,3)
=LARGE(sheet1!A:A,4)
=LARGE(sheet1!A:A,5)本回答被网友采纳
第4个回答  2013-07-02

公式按照名单长度更改一下就可以了,请见附件是不是你要的效果?

追问

你好,谢谢你,我还有个问题,如果采用你的方法,两个学生的分数都相同怎么办?

追答

我重新做了一份,有并列的也会列出来了,只要别超过5个,要是超过5个公式还得改改~~

第5个回答  2013-07-02
一般的话,排序是自动生成的。
相似回答