excel|Excel中式排名太难?看完原理分析,必让你终身难忘!

excel|Excel中式排名太难?看完原理分析,必让你终身难忘!

文章图片

excel|Excel中式排名太难?看完原理分析,必让你终身难忘!

文章图片

excel|Excel中式排名太难?看完原理分析,必让你终身难忘!

文章图片

excel|Excel中式排名太难?看完原理分析,必让你终身难忘!


各位读者朋友们大家好 , 今天给大家讲解的是关于排名的问题 。 我们Excel内置的RANK函数 , 是美式排名的 , 美式排名的特点是每个数字都会占用一个排名的位置 , 不管你是否并列 , 如下图所示:

我们可以看到 , 两个100都排名都是1 , 这是没有问题的;但是三个99 , 排名却是3;两个98 , 排名是6 。 这就与我们常见的排名不一样了 , 按照我们的习惯 , 100排第一 , 99应该是排第二 , 98应该是排第三 。 但是由于美式排名每个数字都会占用一个排名 , 两个100相当于占用的是第一名和第二名的位置 , 所以99就会显示排名3 , 而三个99占用的是第三名 , 第四名和第五名的位置 , 所以98就会显示排名6 , 以此类推 。 那要实现我们的中式排名 , 也就是100都是第一名 , 99都是第二名 , 98都是第三名……该怎么操作呢?
我们先来分析一下思路:以99为例 , 我们要确定他排第几 , 其实只要知道大于99的数去重后有几个 , 我们就能确定他的位置 , 比如本案中大于99的数有两个100 , 但是去重后就只有1个100 , 我们拿大于它的数字去重个数加上1 , 得到的2是不是就是99的排名呢?好 , 思路有了 , 关键就是怎么实现它 。
第一步:我们首先注意到 , 是要将数字个数去重 , 联系一篇文章的内容 , 我们可以先用CPUNTIFS函数将每个分数化成对应的分数形式:

【excel|Excel中式排名太难?看完原理分析,必让你终身难忘!】第二步:我们要找出大于99的数字是哪些?这个该如何操作呢?我们可以直接用大于符号来做一个判断 , 这里大于99的显示TRUE , 不大于的显示FALSE 。

第三步:这一步我们就需要计算出大于第一个99的去重之后数字 。 之前跟大家提过 , TRUE和FALSE在运算的时候可以当成1和0来处理 , 所以这里我们可以用第一个辅助列和第二个辅助列相乘 , 大于99的分数乘以1显示本身不变 , 而不大于99的则乘以0变为0 。

第四步:此时我们可以看到只有大于99的数字对应的去重分数才显示 , 而其他的被处理为了0 , 我们现在只需要将第三辅助列相加 , 即可得到我们想要的数字1 , 然后再加1 , 就得到了99的排名2 。

以上分步的写法 , 那我们要将所有的销量都把排名排出来 , 就像上一篇文章那样用数组公式进行批量处理即可 , 下面是我们合并和后的公式=SUMPRODUCT((1/COUNTIFS(C$2:C$22C$2:C$22))*(C$2:C$22>C2))+1这里我们求和使用的SUMPRODUCT函数 , 是因为SUMPRODUCT函数本身支持数组运算 , 我们就不必用三键结束 , 如果要用sum , 也是没有问题的 。

上图中我们将中式排名和美式排名放在一起 , 方便大家比较 , 一般情况下肯定中式排名更适合我们习惯的 , 但是如果没有重复值的情况下 , 我们可以直接用RANK函数 , 更加方便快捷一些 。 今天就说到这里 , 中式排名 , 你学会了吗?
写在最后:原创不易 , 请大家多多支持 , 期待与大家互相学习 , 共同进步


    推荐阅读