根据条件求排名

来源:微信公众号表妹的EXCEL

今天的推送内容,来自于一位公众号小伙伴的提问,通过解答,表妹觉得这个问题比较有典型性,值得有类似工作场景的同学借鉴,所以在这里和大家分享一下,好奇心爆棚的小伙伴,赶快一起来看一看吧~~

~~~~~~条件排名的分割线~~~~~~

问题描述

【问题】班级学生各科目成绩数据(无序且成绩有重复值)如下图,现要求排序出各考试科目前5名的学生姓名和考试成绩。

------------------------------------

问题分析

【分析1】题目要求前5名,需要使用LARGE函数来处理

【分析2】由于成绩数据存在重复值,想要并列排序需要使用“先放大后缩小”的方法加以区分,放大使用乘数加个数,缩小使用MOD函数

【分析3】返回的姓名和成绩可能存在并列关系,所以不能使用常规的查找函数(VLOOKUP或者LOOKUP),需要使用INDEX函数(OFFSET函数也可以)

以上,思路已理清,下面开始编写公式解决问题~~

------------------------------------

问题解决

【步骤1】构建排名区域,添加科目单元格下拉列表

-----------------------------------

【步骤2】编写公式

姓名=INDEX($B$2:$B$55,MOD(LARGE((($A$2:$A$55=$F$1)*$C$2:$C$55)*100+ROW($A$1:$A$54),ROW(A1)),100))

成绩=INDEX($C$2:$C$55,MOD(LARGE((($A$2:$A$55=$F$1)*$C$2:$C$55)*100+ROW($A$1:$A$54),ROW(A1)),100))

两公式原理相同,以姓名列公式为例,从内而外,公式含义如下:

公式含义解释:

①.($A$2:$A$55=$F$1)*$C$2:$C$55:返回C列中考试科目为F1的成绩

②.(...)*100+ROW($A$1:$A$54):将考试成绩放大后进行区分(乘以100后加上行序号),实现相同成绩可以并列排序

③.LARGE(...,ROW(A1)):对放大后的成绩进行从大到小的顺序排序,下拉复制公式后,ROW(A1)变成ROW(A2)、ROW(A3)...,分别代表第一大,第二大,第三大...,也就是第一名、第二名,第三名...

④.MOD(...,100):对放大后的成绩进行缩小求余,所得余数即等于该成绩所在位置编号

⑤.INDEX($B$2:$B$12,...):根据第4步中返回的位置编号,在B2:B12提取对应的成绩数据

-----------------------------------

【步骤3】设置条件格式,公式:=$A2=$F$1,突出显示各科目数据

------------------------------------

最终效果

【效果】选择不同科目,函数自动返回该科目中前5名的学生姓名和成绩

-------------------------------------

清楚了函数公式的设计思路,小伙伴们可以把上文中的科目条件替换成自己工作中的排名条件,也可以将LARGE函数换成SMALL函数从小到大进行排名。只要掌握了核心思路,千变万化,唯我独尊,勤奋好学的你赶快自己动手试试吧~~


如果你觉得表妹的分享内容很实用,欢迎分享给其他小伙伴呦,独乐乐不如众乐乐嘛!

关注微信公众号“表妹的EXCEL”,每周一、三、五获取原创分享教程。加入“表妹的EXCELQQ群(345387282)”,和勤奋好学的小伙伴们一起快乐地学习EXCEL吧!

本文已在版权印备案,如需转载请访问版权印14257715

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,350评论 0 33
  • 做为互联网的一个工作人员,尤其是运营岗位,一天工作时间最多触碰的工具就是excel了,比如数据整理、分析、设计报表...
    韩利阅读 14,443评论 9 204
  • 从来没有想过自己的语言也是塑造自己的一种表现或者说方式,以前觉得未经大脑说出口的话是因为自己率真。然而不是,当你经...
    Emilyxxxi阅读 1,768评论 2 0
  • 一 招人转抢人:当今社会我们是被人抢还是抢职位,现在更需要的是全方位的人才,作为管理者,我们已不能坐以待毙,等待人...
    伊森田慧慧阅读 1,040评论 0 0
  • 请不要相信我的美丽,也不要相信我的爱情。我只是个戏子,永远在别人的故事里流着自己的泪。 ——题记 (一)待上浓妆...
    穆蓝阅读 5,126评论 2 6