如何为列中无序数字添加从高到低的排名标识
如何为列中无序数字添加从高到低的排名标识
嘿,我来帮你搞定这个排名需求!不管你用的是Excel还是Google Sheets,都有很简单的函数可以实现这个效果,下面分情况给你说明:
方法一:用RANK函数实现基础降序排名(支持重复值同名次)
假设你的数字都在A列(比如A1到A7对应你给出的900、465、650...这些数),你只需要在旁边的B1单元格输入以下公式:
=RANK(A1,$A$1:$A$7,0)
输入完成后按回车,然后把B1单元格的公式下拉到B7,就能自动生成每个数字从高到低的排名了。
给你拆解一下这个公式的参数:
A1:当前要计算排名的单元格$A$1:$A$7:整个数字所在的范围(加上$是为了绝对引用,下拉公式时这个范围不会跟着变动)0:代表降序排名(也就是最高的数排1,依次往下;如果填1就是升序,最低的数排1)
拿你的数据举例子:1212是最大的数,所以它的排名是1;1125排第二,显示2;900排第三,显示3,以此类推。
方法二:处理重复值时不跳过名次(可选)
如果你的数据里有重复的数字,用上面的RANK函数会给相同数字相同的排名,并且下一个不同的数字会跳过对应的名次(比如两个800都排第4,下一个数会直接排第6)。要是你想让排名连续不跳过,可以用这个公式:
=SUMPRODUCT(($A$1:$A$7>A1)/COUNTIF($A$1:$A$7,$A$1:$A$7))+1
这个公式会统计比当前数字大的不重复数值的数量,再加1就是当前数字的排名,这样即使有重复值,排名也会连续。
Google Sheets的操作
如果你用的是Google Sheets,操作和Excel几乎一样,直接用=RANK(A1,A:A,0)(或者指定具体范围$A$1:$A$7)就能得到同样的结果,下拉公式即可。
试试上面的方法,应该就能轻松得到你想要的排名啦!
备注:内容来源于stack exchange,提问作者Gavin




