excel中如何计算排名名次(3种方法快速搞定名次排列)

 分类:IT知识时间:2023-03-27 07:31:01点击:


临近年终,发(da)奖(qing)金(suan)的时候

总会让我想起上学时老师念名次的恐怖场景。

可惜是福不是锅,是锅躲不过,该来还要来

经理:“来,给下面的表格排个名字,给你10秒钟”

我:“。。。。。”

常规方法是对C列降序排列,然后从1开始填充序列

但是该法会时灵时不灵!

比如这张表有些员工业绩重复,名次应当一致,但结果显然不尽如人意

那么该怎么办呢?

在我的视频课程《Excel通关秘籍》中,介绍过RANK函数

利用它我们就可以实现智能排名!!

该函数的参数如下:

RANK(排名的单元格,排名区域)

对于上面那种情况,我们只需输入:=RANK(C2,$C$2:$C$16)

就可以快速完成排名了(排名区域通常采用“绝对引用”)

条条大路通罗马,能实现智能排名的不仅仅只有RANK函数

下面再给大家介绍两种方法:

COUNTIF函数

COUNTIF(计数区域,计数条件)常被用来计算区域中满足条件的单元格个数

例如我们只要输入:

=COUNTIF(C2:C16,">100")

该函数意义:可以计算出C2:C16,大于100的数据的个数为5个

在这个排名的案例中,我们可以输入:

=COUNTIF(C$2:C$16,">"&C2)+1

翻译过来就是:在C2:C16区域中,大于C2的单元格有多少个,那么C2的名次就是该个数+1

SUM函数

想不到吧,SUM函数居然还可以用来排序

解题思路同上:一列里边,比你大的有n个,那你就是排在第n+1名

具体的函数如下:

=SUM(N($C$2:$C$16>C2))+1

输入完函数后,我们只要按下【Ctrl+Shift+Enter】就搞定了

接着我们来解析下这个函数:

(长文分析预警)

=SUM(N($C$2:$C$16>C2))+1

【一】$C$2:$C$16>C2得到的是一组逻辑值:“TRUE或FALSE”

前面加上“N”函数就可以将其转成1或0;

【二】公式思路:如果$C$2:$C$16中有几个大于C2,再加1,就是它的排名。

比如:C2是最大的,那么

$C$2:$C$16>C2全是false

N($C$2:$C$16>C2)全是0

SUM(N($C$2:$C$16>C2))=0

加一还是等于一,它排名还是第一;

以此类推,例如C3,有7个比C3大的,就有7个TRUE

通过N函数转换成7个1,最后排名+1,就是8。

【三】N函数还可以用“--”(负负)来代替

它也可以将文本数字、逻辑值转换成数值。

=SUM(--($C$2:$C$16>C2))+1

我们来看下GIF操作演示:

殊途同归,最简单的方法自然是RANK函数

它的两个兄弟“RANK.AVG”和RANK.EQ”也推荐给大家

这两个函数用法与RANK相似,大家可自行尝试哦~

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: