Excel做成绩表时自动实现同分同名次

2024-01-15 04:38

本文主要是介绍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函数更好的为我们服务。


这篇关于Excel做成绩表时自动实现同分同名次的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607672

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja