1. 概述
1.1 问题描述
常见的排名方式有如下几种:
第一种,即排名1 | 连贯不间断的排名可以参考:使用公式进行不间断排名 |
第二种,即排名2 | 并列排名后,后续排名跳号,详情参见:使用公式进行并列跳号排名 |
第三种,即排名3 | 并列排名后,后续排名不跳号,详情参见本文 |
1.2 解决思路
求出所有比自己大的数,去除重复后统计个数,然后加 1,则是不跳号的排名数。
2. 示例
2.1 模板设计
1)创建内置数据集如下:
2)报表设计如下
并将成绩 A2 单元格数据设置成「列表」,如下图所示:
3)在B2单元格输入公式:SORT(A2)或者COUNT(UNIQUEARRAY(A2[!0]{A2 > $A2}))+1,如下图所示:
公式说明:
步骤 | 公式 | 公式说明 |
---|---|---|
求 A2 单元格扩展出的所有成绩 | A2[!0] | Cellx[!0]:获取单元格 Cellx 扩展出来的所有值 |
求 A2 单元格扩展得到的所有成绩中比当前成绩大的成绩值 | A2[!0]{A2 > $A2} | Cellx[!0]{条件表达式}:根据条件表达式获取单元格 Cellx 扩展出来的部分值 |
去掉上一步得到的成绩集合中重复的成绩 | UNIQUEARRAY(A2[!0]{A2 > $A2}) | UNIQUEARRAY(array):去掉数组中重复的元素 |
统计上一步得到的成绩集合中成绩的个数+1作为当前成绩的排名 | COUNT(UNIQUEARRAY(A2[!0]{A2 > $A2}))+1 | COUNT(value1,value2,…):计算数组或数据区域中所含项的个数 |
2.2 效果预览
1)PC 端
保存模板,选择分页预览,如下图所示:
2)移动端
3. 模板下载
已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式进行并列不跳号排名.cpt。
点击下载模板:使用公式进行并列不跳号排名.cpt