用JAVA表示EXCLE表的PERCENTRANK函数

1. PERCENTRANK 函数详解

返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。

示例

排序

数据

1

19

212
39
47
56
63
73
82
91
101

公式

说明(结果)
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);
}

输出:

实现逻辑说明:

获取小于当前数值的数字个数

将列表排序,找出数值在列表中的索引,该索引则为小于当前数值的数字个数

借鉴于:Excel统计函数PERCENTRANK_PERCENTRANK函数用法详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值