在Excel里,如何将一组满足某种条件的数据排序?该怎么写函数呢?

如题,例子:
A B C D E F G H I J
姓名 张三 林二 李一 王四 张二 林三 郭六 黄一 王七
分数 82 89 90 94 85 80 99 78 89

我要在第四行得出每个同学在所有和他同姓的同学中间的成绩排名,即:要得到张三在所有姓张的同学中的成绩排名,要怎么写函数?例子很简单,同姓的同学只有一两个,但是我需要处理的数据特别多,不可能手动选出同姓的同学,所以需要一个函数,希望各位大侠能够帮忙,小女万分感激!
要求不能改变原始数据的位置,所以不能先对它们以姓进行排序再进行同姓之间的排名,所以需要一个能直接算出排名的函数。

第1个回答  2010-07-28
有点麻烦,先用我的笨方法试试吧。

一、加一辅助行,取出每个的“姓”。
如加在第三行:b3=Left(b1)。然后向右拉序列到数据尾。
二、按行排序,分别以第三行(姓)作为主要关键字和第二行(成绩)作为次要关键字——按升序进行排列。
三、第四行B4中输入:
=if(b3<>a3,1,a4+1),然后向右拉序列,即可得名次。

建议将数据排成竖列,感觉更好些。本回答被提问者采纳
相似回答