excel中这样的排名方式用什么函数可以完成?(例子问题在补充中)
姓名班级英语排名刘涛201891安以轩201802霍建华201802叶璇201783董洁201674因为个数很少的话可以打出来,但人数太多,就只能用到函数了。不会...
姓名 班级 英语 排名
刘涛 201 89 1
安以轩 201 80 2
霍建华 201 80 2
叶璇 201 78 3
董洁 201 67 4
因为个数很少的话可以打出来,但人数太多,就只能用到函数了。不会 展开
刘涛 201 89 1
安以轩 201 80 2
霍建华 201 80 2
叶璇 201 78 3
董洁 201 67 4
因为个数很少的话可以打出来,但人数太多,就只能用到函数了。不会 展开
2012-07-04
展开全部
最容易做到的办法是 首先 数据按 成绩排序……
然后再判断计算出你需要的“排名”……其实这种排名 意义不大……
排序后 输入如下公式……(假设英语成绩在C列……)
D2 输入1……
D3 =IF(C3=C2,D2,D2+1) 然后向下复制……
得出结果后 你可以使用复制 这个结果 然后 原位 选择性粘贴 数值……永久固定下来
再按其他列排序时 这个排名 就不会变化了……
然后再判断计算出你需要的“排名”……其实这种排名 意义不大……
排序后 输入如下公式……(假设英语成绩在C列……)
D2 输入1……
D3 =IF(C3=C2,D2,D2+1) 然后向下复制……
得出结果后 你可以使用复制 这个结果 然后 原位 选择性粘贴 数值……永久固定下来
再按其他列排序时 这个排名 就不会变化了……
展开全部
假设英语成绩在A列
排名=RANK(A1,$A$1:$A$10),下拉公式
只不过有同名次的排完之后会跳一个名次。
排名=RANK(A1,$A$1:$A$10),下拉公式
只不过有同名次的排完之后会跳一个名次。
追问
你说的不对,你的函数会变成:
姓名 班级 英语 排名
刘涛 201 89 1
安以轩 201 80 2
霍建华 201 80 2
叶璇 201 78 4
董洁 201 67 5
周杰伦 201 67 5
周杰 201 60 7
不信你自己在excel中试试
追答
如果你不希望跳名次的话,用下面函数
第一步:alt+f11,插入模块,输入下面代码
Function MyRank(Number As Integer, Ref As Range)
Dim MyRef As New Collection
On Error Resume Next
For Each r In Ref
MyRef.Add r.Value, CStr(r.Value)
Next
For Each m In MyRef
If m > Number Then i = i + 1
Next
MyRank = i + 1
End Function
"调试"--->"编译VBAProject"
第二步:引用自定义函数
=MyRank(D2,D1:D8)
使用方法和Rank函数一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的排序就是英语降序,姓名升序,不用函数的,直接使用排序命令就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设成绩在C2:C100,你在D2中录入公式然后往下拖即可.
=RANK(C2,$C$2:$C$100)
=RANK(C2,$C$2:$C$100)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用RANK函数可排名,要是要排序的话我就不会用函数了。好像只能用排序来完成!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询