要根据学生的考试成绩计算下排名,直接用Excel中内置的函数RANK,结果如下:
文章插图
有两位同学为并列第四,可之后就直接第六名了,第五名不见了,这并不符合我们的习惯,从小到大,每次考试后并列的名次很常见,可是不会缺少一个中间的名次 。
怎么解决上述问题呢?
参加过我函数培训班的同学写这个公式应该不成问题:=SUMPRODUCT(($B$2:$B$20>=B2)/(COUNTIF($B$2:$B$20,$B$2:$B$20)))懂数组的基础,知道其中套路的话,这公式也不难理解 。
如果你会VBA的话,写个自定义函数,以后就可以这样了:
文章插图
【Excel中如果能有这个函数,中国式排名就很简单了!】或者复制下面的代码,另存为加载宏,需要的时候加载下,不需要的时候取消加载,这也是极好的 。
代码如下:
‘rng1 代表需要排名的单元格,rng2代表排名区域Function crank(rng1 As Range, rng2 As Range) Dim arr, brr(), crr(), m&, i& arr = rng2 m = UBound(arr) ReDim brr(1 To m), crr(1 To m) For i = 1 To m brr(i) = Application.CountIf(rng2, arr(i, 1)) Next For i = 1 To m If rng1.Value <= arr(i, 1) Then crr(i) = 1 / brr(i) Else crr(i) = 0 End If Next crank = Application.Sum(crr)End Function
推荐阅读
- 氨茶碱在体外循环中的保护作用
- 关于中秋节的手抄报内容和图案介绍
- 时令鲜花食出新花样
- 精选 形容精力不集中的成语
- 精选 形容注意力集中的成语
- 常用函数之RANK奥运会金牌榜排名
- EXCEL怎么随机打乱数据,不重复随机数来帮忙!
- 如何用360安全卫士查找电脑中的重复文件?
- 快手小店如何添加商品?快手中如何购买商品?
- 想了半天,这15个Excel公式最实用!