作者:绿色风
分类:
时间:2022-08-17
浏览:233
楼主 lrlxxqxa |
先看一下PERCENTRANK函数的基础信息;其返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。
语法结构为:PERCENTRANK(array,x,significance)
Array 为定义相对位置的数组或数字区域。 X 为数组中需要得到其排位的值。 Significance 为可选项,表示返回的百分数值的有效位数。如果省略,函数 PERCENTRANK 保留 3 位小数。
小注:如果数组为空,函数 PERCENTRANK 返回错误值 #NUM!。 如果 significance < 1,函数 PERCENTRANK 返回错误值 #NUM!。
再来看看PERCENTRANK是如何工作的
所谓X的“排位”,即Array小于X的个数占整个Array中非空元素个数和的百分比
明白了原理再来看如下的实例
可见要用PERCENTRANK函数实现附件中的排序效果,要分6步走:
1、利用PERCENTRANK($B$28:$B$42,B28)这一部分得到的是X在Array中的排位; 2、利用COUNTA($B$28:$B$42)返回Array中非空单元格个数; 3、利用COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B40))返回Array中大于或等于X的排位(元素个数); 4、利用COUNTIF($B$30:$B$44,B38)返回Array中等于X的元素个数; 5、利用第3步结果与第4步结果的差,得到Array中大于X的元素个数(有误差); 6、利用MAX或MIN函数,调整第5步返回结果中两端值的误差,得到正确结果。
结合舍入取整函数运用如下:- =FLOOR(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)),1)+2-COUNTIF($B$30:$B$44,B30)-(MIN($B$30:$B$44)=B30)
1- =ROUNDDOWN(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)),)+2-COUNTIF($B$30:$B$44,B30)-(MIN($B$30:$B$44)=B30)
2- =ROUNDUP(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)),)-COUNTIF($B$30:$B$44,B30)+1+(MAX($B$30:$B$44)=B30)
3- =INT(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)))+2-COUNTIF($B$30:$B$44,B30)-(MIN($B$30:$B$44)=B30)
4- =TRUNC(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)),)+2-COUNTIF($B$30:$B$44,B30)-(MIN($B$30:$B$44)=B30)
5- =CEILING(COUNTA($B$30:$B$44)*(1-PERCENTRANK($B$30:$B$44,B30)),1)-COUNTIF($B$30:$B$44,B30)+1+(MAX($B$30:$B$44)=B30)
6 PERCENTRANK.rar |
2楼 bluexuemei |
学习,太复杂! |
3楼 biaotiger1 |
PERCENTRANK函数相对完整的用法说明。 |
4楼 lrlxxqxa |
用PERCENTRANK函数进行排序 |
5楼 gouweicao78 |
工程硕士GCT考试的成绩,也采用“百分比”排位的方式。 |
6楼 slg36 |
用PERCENTRANK来排序 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一