Excel 公式自动实现同分同名次排序
发布时间:2012-12-13 10:52:26 作者:佚名
我要评论
在用Excel统计成绩时,我们一般会根据成绩高低进行排序,然后按序列自动填充出名次。这种方法得出的名次与总分没有关联,即使成绩相同,也会填充出不同的名次。
在用Excel统计成绩时,我们一般会根据成绩高低进行排序,然后按序列自动填充出名次。这种方法得出的名次与总分没有关联,即使成绩相同,也会填充出不同的名次。

如果数据较少,我们可以采用手动的方法将成绩相同的人员改成相同的名次,但数据较多时就很麻烦了。经过实践,以下三种方法可以自动实现同分同名次的操作。假设有1000名考生,字段位置如上图所示。
一、使用排位函数RANK
在H2单元格中输入函数“=RANK(G2,G$2:G$1001,0)”,回车后H2单元格中会出现名次“1”,然后选定H2,拖动其填充柄向下填充即可自动实现。
该函数的功能是返回一个数字(上述函数中的G2,此处采用相对应用,填充时随行的变化而变化)在数字列表(上述函数中的G$2:G$1001,此处采用绝对应用,填充时不发生变化)中的排位。数字的排位是其大小与列表中其他值的比值。该函数在使用时,即使总分没有排序,它也可以直接求出所对应总分的名次;如果总分已排过序,则数字的排位就是它当前的位置。上述函数中最后的“0”指明排位的方式,当其为 0或省略时,Excel 对数字的排位是按照降序排列的。 如果不为零, Excel 对数字的排位则是按照升序排列的。该函数对重复数的排位相同,而下一名次则将前面的重复数计算在内。
二、使用计数函数COUNTIF
在H2单元格中输入函数“=COUNTIF(G$2:G$1001,">"&G2)+1”,然后向下自动填充即可实现该操作。
该函数的功能是计算区域中满足给定条件的单元格个数。上述函数中采用绝对引用指定计算区域G$2:G$1001,名次所对应的单元格G2采用相对引用。即求出在G2:G1001区域中大于名次所对应总分的单元格的个数,然后加上1就可以得出该单元格中数值的名次。该操作不管有几个重复的,大于它的个数却是固定的,所以重复数据的名次也就是相同的了。同RANK函数一样,该函数不管是否已经按总分进行排序均可进行上述操作。
三、采用IF语句加COUNT函数
该操作与上述两种方法不同,必须先将总分按照降序排列。然后将第一名的名次“1”输入,再在H3单元格中输入函数“=IF(G3=G2,H2,COUNT($G$2:G3))”,确定后向下自动填充也可实现同分同名次的操作。
COUNT函数的功能是返回指定区域中数字单元格的个数。因为G列全是数字单元格,所以该总分处在第几位上名次就是几。上述语句的意思就是如果当前总分和上一个总分相同,则输入上一个总分的名次,否则执行COUNT语句,统计个数。
以上三种方法均可自动实现同分同名次操作。本文虽然有孔乙己先生关于“回”字有四种写法的嫌疑,但笔者的目的却只有一个,那就是抛砖引玉,让Excel函数更好的为我们服务。


一、使用排位函数RANK
在H2单元格中输入函数“=RANK(G2,G$2:G$1001,0)”,回车后H2单元格中会出现名次“1”,然后选定H2,拖动其填充柄向下填充即可自动实现。
该函数的功能是返回一个数字(上述函数中的G2,此处采用相对应用,填充时随行的变化而变化)在数字列表(上述函数中的G$2:G$1001,此处采用绝对应用,填充时不发生变化)中的排位。数字的排位是其大小与列表中其他值的比值。该函数在使用时,即使总分没有排序,它也可以直接求出所对应总分的名次;如果总分已排过序,则数字的排位就是它当前的位置。上述函数中最后的“0”指明排位的方式,当其为 0或省略时,Excel 对数字的排位是按照降序排列的。 如果不为零, Excel 对数字的排位则是按照升序排列的。该函数对重复数的排位相同,而下一名次则将前面的重复数计算在内。
二、使用计数函数COUNTIF
在H2单元格中输入函数“=COUNTIF(G$2:G$1001,">"&G2)+1”,然后向下自动填充即可实现该操作。
该函数的功能是计算区域中满足给定条件的单元格个数。上述函数中采用绝对引用指定计算区域G$2:G$1001,名次所对应的单元格G2采用相对引用。即求出在G2:G1001区域中大于名次所对应总分的单元格的个数,然后加上1就可以得出该单元格中数值的名次。该操作不管有几个重复的,大于它的个数却是固定的,所以重复数据的名次也就是相同的了。同RANK函数一样,该函数不管是否已经按总分进行排序均可进行上述操作。
三、采用IF语句加COUNT函数
该操作与上述两种方法不同,必须先将总分按照降序排列。然后将第一名的名次“1”输入,再在H3单元格中输入函数“=IF(G3=G2,H2,COUNT($G$2:G3))”,确定后向下自动填充也可实现同分同名次的操作。
COUNT函数的功能是返回指定区域中数字单元格的个数。因为G列全是数字单元格,所以该总分处在第几位上名次就是几。上述语句的意思就是如果当前总分和上一个总分相同,则输入上一个总分的名次,否则执行COUNT语句,统计个数。
以上三种方法均可自动实现同分同名次操作。本文虽然有孔乙己先生关于“回”字有四种写法的嫌疑,但笔者的目的却只有一个,那就是抛砖引玉,让Excel函数更好的为我们服务。

相关文章

阳历/农历转换对照表怎么做? Excel制作日历表/万年历的最终版
想要制作阳历/农历转换对照表,,通过这个对照表,你只需知道阳历日期,就可以快速准确的找到对应的农历日期,下面我们就来看看详细制作方法2025-04-10
工作上需要制作一个日历表/万年历,该怎么制作呢?我们需要使用三个excel函数来实现,详细请看下文介绍2025-04-10
Excel中有一个功能非常强大的函数,它就是SUMPRODUCT函数,既能求和、计数、权重计算,还能排名等,今天我们就来看看Excel根据权重求和的技巧2025-04-10
tocol函数哪个版本能用? excel中tocol函数的两种高级用法
TOCOL函数公式非常强大,值得一学,从字面意义可以理解出来,它是将数据转换成一列的,今天分享TOCOL函数的2种高级用法2025-04-10
Excel隐藏行和折叠行有什么不同? 隐藏行和折叠使用方法和区别介绍
excel表格进行操作的时候,发现有隐藏和和折叠行,看上去效果一样,都隐藏了,但是两者是有很大区别的,详细请看下文介绍2025-03-21
Excel工龄计算不再愁! Excel隐藏函数DATEDIF轻松计算精确到天级的工龄
在日常工作中,我们经常需要计算员工的工龄,以便进行人事管理、薪资调整等工作,本文将详细介绍如何在Excel表格中计算工龄,并提供多种实用方法供您选择2025-03-13
Excel数据处理遇到的问题,99%都是由于奇葩的数据格式造成的,今天跟大家整理了几个Excel表格构建的规则,先不要问为什么,照着做就对了2025-03-06
Excel透视表1月到12月不能排序怎么办? 数据透视表日期无法排序解决方法
如图对数据透视表日期进行升序排序后,仍不是我们想要的结果,有可能月份是文本,不能排列,下面我们就来看看详细解决办法2025-03-06
首先咱们得明确一下账龄的概念,简单来说,账龄就是某个账户的余额从产生到现在的时间长度,比如,一年以内的账龄就是那些在过去一年内产生的债权或债务,下面我们就来看看2025-03-06
实现办公自动化! DeepSeek搭配Excel制作自定义按钮的技巧
DeepSeek生成想要的代码很方便,如果将生成的代码放到excel中作为vba代码使用,岂不是能实现办公自动化?下面我们就来看看实现方法2025-03-05



最新评论