乐于分享
好东西不私藏

Excel教程 | 按城市分组排名,自动提取每个城市前3名!

Excel教程 | 按城市分组排名,自动提取每个城市前3名!
有一张应聘者表格,包含「应聘城市」和「笔试成绩」。
要求:每个城市内按成绩从高到低排名,并取出每个城市的前3名
先按城市分组,计算每位应聘者在该城市的内部排名
按城市和成绩排序,输出结果
关键公式(以wps为例)
第一步:计算分组排名
在H3单元格输入以下公式并向下填充
=SUMPRODUCT(($F$3:$F$57=F3)*($G$3:$G$57>=G3))
公式拆解:
  • $F$3:$F$57=F3判断同一城市
  • $G$3:$G$57>=G3成绩大于等于当前成绩
  • SUMPRODUCT统计满足两个条件的个数→ 就是该城市内的排名(最高分得1)

原理:同一城市中,比自己成绩高(或相等)的人数,就是自己的排名。

第二步:提取并排序
在K3单元格输入以下公式直接出结果
=SORT(CHOOSECOLS(FILTER(B3:G57,H3:H57<=3),1,2,5,6),{3,4},{-1,-1})
公式拆解:
  • FILTER(B3:G57,H3:H57<=3)筛选出排名≤3的所有行
  • CHOOSECOLS(FILTER(B3:G57,H3:H57<=3),1,2,5,6)只保留「姓名、性别、应聘城市、笔试成绩」四列
  • SORT(CHOOSECOLS(FILTER(B3:G57,H3:H57<=3),1,2,5,6),{3,4},{-1,-1})对保留后数据第3、4列分别按降序处理。
最终效果:运行公式后,自动得到每个城市笔试成绩前三名的名单,并按城市归类、成绩从高到低排列。
你学会了吗?
快打开Excel试试,再也不用手动分组排序啦