Office中国论坛/Access中国论坛

标题: [求助]一个关于在excel中排名的问题? [打印本页]

作者: drzxd    时间: 2005-2-26 20:19
标题: [求助]一个关于在excel中排名的问题?
请问大家,我在学生的成绩排名中,有2个第三名,然后就是第五名,没有第四名。但我想让第一个第三名的学生为第三名,第二个第三名的学生为第四名。请问该函数怎样设定??? 急盼![attach]9087[/attach]


作者: drzxd    时间: 2005-2-26 21:28
或者这样,第三名可以不变,但以后的名次都要上升一位。即第五名为第四名,第六名为第五名。请高手们解答解答!在下先谢谢了!!!


作者: 情比金坚    时间: 2005-2-27 00:39
1:根据总分排序后,再根据语文排序,再根据数学排序。。。。。还有重复,就再根据学号排序。2:排序后用序列替换掉他。
作者: 老鬼    时间: 2005-2-27 05:12
设“班级位次”列为J列,在J2输入公式=IF(ISNUMBER(MATCH(RANK(I2,$I$2I$14),$J$1:J1,0)),RANK(I2,$I$2I$14)+1,RANK(I2,$I$2I$14)),往下复制
作者: drzxd    时间: 2005-2-27 07:19
谢谢朋友们的帮助,该问题已解决!
作者: juyouhh    时间: 2005-2-27 18:13
可以简单一点=RANK(K2,K:K)+COUNTIF(K$2:K2,K2)-1
作者: 老鬼    时间: 2005-2-27 20:46
以下是引用juyouhh在2005-2-27 10:12:44的发言:



可以简单一点

=RANK(K2,K:K)+COUNTIF(K$2:K2,K2)-1

很好,推荐~~~~~~
作者: drzxd    时间: 2005-2-28 03:56
谢谢各位的帮助!请问我第二楼的问题能否也给我解答一下,好吗
作者: 情比金坚    时间: 2005-2-28 06:38
在M列写=k2*IF(COUNTIF(k$2:k2,k2)>1,0,1)在J列写=RANK(K2,M:M)
作者: 老鬼    时间: 2005-2-28 07:17
情小妹的方法好像不行,我在想是不是用VBA编个自定义函数会更合适一些?
作者: 老鬼    时间: 2005-2-28 08:13
比较简单的处理方法,先排序,后列公式:[attach]9104[/attach]

如果不排序直接处理的话,得用到数组公式,比较繁杂。


作者: 情比金坚    时间: 2005-2-28 21:51
我试过可以的嘛!

[attach]9110[/attach]

不过用数组可能更简单,但我想不出。



[此贴子已经被作者于2005-2-28 13:52:34编辑过]


作者: drzxd    时间: 2005-3-1 03:59
多谢鬼哥哥和情妹妹!
作者: 老鬼    时间: 2005-3-1 04:12
错怪了情小妹,对不起~~~~~数组不会更简单
作者: zhyz    时间: 2005-3-2 05:31
不重复排名,要每个都不重复,提供两个公式。[attach]9135[/attach]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3