1职场实例
小伙伴们大家好,今天我们来继续重温一个Excel在职场办公中的传统技巧:如何对销售数据服务器托管网进行中国式排名统计?在排名计算统计中,中国人的习惯是,无论有几个并列第2名,之后的排名仍应该是第3名,即并列排名不占用名次。例如:对数列{9,7,7,2}由大至小进行排名,按国际惯例是:第1名,第2名,第2名,第4名。而按中国式排名的话,结果是:第1名,第2名,第2名,第3名。再例如:亚兵赛决赛中出现并列金牌,则再发一枚银牌即可,不会发铜牌了。
如下图所示:
是一份各种水果的销量数据表,A列为水果名称,B列为销售数据,我们想要在C列统计并显示出其中国式排名的统计情况。
2解题思路
以前我们讲解过用SUMPRODUCT与COUNTIF函数嵌套使用来解决中国式排名的问题,但是有的小伙伴反映有些难理解,那么今天我们就用一个新函数UNIQUE函数和一个传统经典函数SUM函数嵌套使用解决中国式排名问题。
下面我们就来看一下具体操作方法。
我们在C2单元格输入函数公式:
=UNIQUE($B$2:$B$9)
UNIQUE函数:
是指从一个指定的范围或数组中返回唯一值。
UNIQUE函数语法结构:
=UNI服务器托管网QUE(单元格区域或数组,[比较方式],[返回范围])
第一参数为必须参数,第二参数和第三参数可根据需求自行省略。
本例中UNIQUE函数提取出$B$2:$B$9单元格区域中的不重复销售数值记录,数组公式自动溢出:
{203;406;385;100;365}
我们继续对UNIQUE函数返回的结果进行判断,强制使其大于B2单元格:
=UNIQUE($B$2:$B$9)>B2
本例中用UNIQUE函数判断去重后的销售数据:
{203;406;385;100;365}
数组内的每个数值元素是否大于B2,如果大于B2的话,会返回逻辑值TRUE;如果不大于B2单元格的话,会返回逻辑值FALSE,数组公式自动溢出:
{FALSE;TRUE;TRUE;FALSE;TRUE}
为了便于后续函数公式的统计,我们需要将逻辑值转换为数值:
=(UNIQUE($B$2:$B$9)>B2)*1
我们对上述公式整体乘以1,即可将逻辑值TRUE转换为数值1;将逻辑值FALSE转换为数值0。数组公式自动溢出:
{0;1;1;0;1}
SUM函数计算出大于B2的不重复个数之和:
=SUM((UNIQUE($B$2:$B$9)>B2)*1)
运算过程:
=SUM({0;1;1;0;1})
=0+1+1+0+1
=3
在SUM结果基础上加上1就是当前各水果销量的中式排名了:
=SUM((UNIQUE($B$2:$B$9)>B2)*1)+1
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
反向迭代器的++即正向迭代器的–,反向迭代器的–即正向迭代器的++,反向迭代器和正向迭代器的很多功能都是相似的,因此我们可以复用正向迭代器作为反向迭代器的底层容器来封装,从而实现出反向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对正向迭代器的接口进行…