1. PERCENTRANK 函数详解
返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。
示例
排序 | 数据 |
1 | 19 |
2 | 12 |
3 | 9 |
4 | 7 |
5 | 6 |
6 | 3 |
7 | 3 |
8 | 2 |
9 | 1 |
10 | 1 |
公式 | 说明(结果) | |
13 | =PERCENTRANK(A2:A11,2) | 2 在上面数据列表中的百分比排位(0.222,因为该数据集中小于 2 的值有 2 个,而大于 2 的值有 7 个,因此为 2/(2+7)=0.222) |
14 | =PERCENTRANK(A2:A11,4) | 4 在上面数据列表中的百分比排位 (0.481) |
15 | =PERCENTRANK(A2:A11,8) | 8 在上面数据列表中的百分比排位 (0.722) |
16 | =PERCENTRANK(A2:A11,5) |
<script language=javascript type=text/javascript> var NestedTable1Arr = document.getElementsByName('NestedTable1'); var NestedTable2Arr = document.getElementsByName('NestedTable2'); for (var j = 0; j < NestedTable1Arr.length; j++) { for (var i = 0; i < NestedTable1Arr[j].rows.length; i++) { NestedTable1Arr[j].rows[i].style.height = NestedTable2Arr[j].rows[i].offsetHeight + 'px'; NestedTable2Arr[j].rows[i].style.height= NestedTable2Arr[j].rows[i].offsetHeight + 'px'; } } </script>
5 在上面数据列表中的百分比排位(0.518,在 4 的 PERCENTRANK 和 8 的 PERCENTRANK 之间有四分之一的百分比排位) |
注释 若要以百分比的形式显示数字,请选择单元格并在“格式”菜单下
单击“单元格”,再单击“数字”选项卡,然后单击“分类”框中的“百分比”。
2. 根据示例推导公式:
百分比排位 = 小于该数的数量/(小于该数的数量+大于等于该数的数量-1)
3. 使用java代码实现百分比计算:
根据上边示例数据计算,以2做演示
public static void main(String[] args) {
List list = new ArrayList();
list.add(19);
list.add(12);
list.add(19);
list.add(7);
list.add(6);
list.add(3);
list.add(3);
list.add(2);
list.add(1);
list.add(1);
//排序
Collections.sort(list);
Integer min = list.indexOf(2);
Integer max = list.size() - min - 1;
Integer num = min + max;
BigDecimal lastNum = new BigDecimal(100).multiply(BigDecimal.valueOf(min).divide(BigDecimal.valueOf(num),4,BigDecimal.ROUND_HALF_UP));
System.out.println("百分比值:"+lastNum);
}
输出:
实现逻辑说明:
获取小于当前数值的数字个数
将列表排序,找出数值在列表中的索引,该索引则为小于当前数值的数字个数