excel如何从一个表里面取数,并且自动排序

例如下表:
排序前的表:
姓名 成绩
张小虎 65
李小宝 75
王大成 71
周丽丽 99
如何对成绩自动排序,修改第一张表的时候,第二表的姓名和名称顺序也自动发生变化?
周丽丽 99
李小宝 75
王大成 71
张小虎 65
修改第一张表中,王大成的成绩为78,第二张表会自动做如下排序。
周丽丽 99
王大成 78
李小宝 75
张小虎 65
请问如何实现?非常感谢。

    表格sheet1填写姓名跟成绩,如下图

    在表格sheet2,单元A1写上公式=INDEX(Sheet1!A:A,SUMPRODUCT(((Sheet1!$B$1:$B$1000+1/ROW($1:$1000))=LARGE((Sheet1!$B$1:$B$1000+1/ROW($1:$1000)),ROW(A1)))*ROW($1:$1000)),1)然后依次往下拉。

    在sheet2单元格B2填写上公式=VLOOKUP(A1,Sheet1!A:B,2,0) 依次往下拉就可以了。

    只要表格sheet1里边的成绩改变了,表格sheet2单元格的排序也会跟着改变的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-02

Excel排序的方式有很多比如:Excel数字排序、日期排序、大小排序、姓名排序等。

1.如果是按照名称排序。举例如图:希望将“地点”按照方式如:北京、上海、天津、广州,这样来排序;(如下图)地点排序很乱。

步骤一、打开菜单栏的“工具”-->选项,然后在弹出的“选项”窗口中选择“自定义序列”,在右边的“输入序列”中依次输入北京、上海、天津、广州,每输入一个地点时,就回车一次,输入完成后点击“添加”按钮;(如图)。

步骤二、回到Excel工作表,选中“地点”这一列;

步骤三、选中以后,单击“数据”-->排序-->选项,在“自定义排序次序”中找到刚才添加的“北京,上海,天津,广州”这种排序方式,然后确定;

这时就已经完成了自己想要的排序效果了(如下图)。

第2个回答  2011-05-17
使用RANK()函数,它的作用是,返回一个数字在数字列表中的排位。
语法格式: RANK(number,ref,order)
参数说明 :第一个参数 Number ,为需要找到排位的数字。第二个参数 Ref , 为数字列表数组或对数字列表的引用。Ref 中的非数值型参数将被忽略。第三个参数 Order 为一数字,指明排位的方式。(•如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。•如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。)
说明:•函数 RANK 对重复数的排位相同。但重复数的存在将影响后续数值的排位。例如,在一列按升序排列的整数中,如果整数 10 出现两次,其排位为 5,则 11 的排位为 7(没有排位为 6 的数值)。
所以,具体到你的这个表中,假设表格第一行是 列标题:姓名\成绩\排位,,第二行起为具体数据的话,其格式为:"=RANK(B2,B$2:B$5)” 。你将该公式输入到C2单元格内。格式中的所以内容均在半角状态下输入,并且,具体输入时不要引号。输入完成后,下拉填充柄,复制到从C2到末行的所有“排位”列。
当然,以上公式只是以你这个表中只有4个学生成绩加上列标题共5行的情况而言。如果有151个学生,以上公式中的B$5应更改为B$151,如果你的表格在列标题之上又增加一行“学生成绩”的表头标题。那么,具体的数据相应地下挪一行,则第三行为具体数据,这样的话,以前公式中的2,应该都更改为3.
第3个回答  2015-06-24
举个例子来说明一下:
有“日期”和“地点”,我希望将“地点”按照我的方式如:北京、上海、天津、广州,这样来排序;(如下图)地点排序很乱,我们该如何来将它按照自己的方式来排序呢?
步骤一、打开菜单栏的“工具”-->选项,然后在弹出的“选项”窗口中选择“自定义序列”,在右边的“输入序列”中依次输入北京、上海、天津、广州,每输入一个地点时,就回车一次,输入完成后点击“添加”按钮;
步骤二、回到Excel工作表,选中“地点”这一列;
步骤三、选中以后,单击“数据”-->排序-->选项,在“自定义排序次序”中找到刚才添加的“北京,上海,天津,广州”这种排序方式,然后确定;
这时就已经完成了自己想要的排序效果了。

希望本回复能帮到你,谢谢采纳
第4个回答  2011-05-17
我们将两个表分别设为 SHEET1 (录入表) SHEET2(排名表)
SHEET1 A列 姓名 B列 成绩
SHEET2 A1输入公式
=INDEX(Sheet1!A:A,SUMPRODUCT(((Sheet1!$B$1:$B$1000+1/ROW($1:$1000))=LARGE((Sheet1!$B$1:$B$1000+1/ROW($1:$1000)),ROW(A1)))*ROW($1:$1000)),1)
CTRL SHIFT 回车结束
向右向下填充,即可本回答被提问者采纳
相似回答