【问题标题】:How can I calculate deciles with a range of 12,000 cells in excel?如何在excel中计算12,000个单元格的十分位数?
【发布时间】:2011-11-28 14:14:07
【问题描述】:

我有一列包含 12,000 多个数字,包括正数和负数,在 Excel 电子表格中从高到低排序。

有没有一种简单的方法可以将此范围划分为十分位数?

【问题讨论】:

标签: excel sorting vba


【解决方案1】:

这可能不是最有效的解决方案,但您可以尝试以下方法:

  1. 假设您的数字在单元格 A1 到 A12000 中,请在单元格 B1 =PERCENTRANK($A$1:$A$12000,A1,1) 中输入以下公式。这将计算单元格 A1 中的值的百分比排名,其中单元格 $A$1:$A$12000 中的值四舍五入到小数点后 1 位(这是您识别十分位数所需的全部内容)。

  2. 将单元格 B1 中的公式复制到单元格 B2 到 B12000。

  3. 使用 B 列中的值来标识 A 列中对应值的十分位数。0 标识大于或等于第 0 个百分位且小于第 10 个百分位的值,0.1 标识大于或等于的值第 10 个百分位和小于第 20 个百分位,依此类推。根据您的集合的大小以及是否有重复项,可能会或可能不会分配一个恰好为 1 的 PERCENTRANK 的值。

如果您使用 Excel 2010,您可以根据需要考虑使用应该取代 PERCENTRANK 的新函数 PERCENTRANK.INC 和 PERCENTRANK.EXC。

希望这会有所帮助。

【讨论】:

  • 嗨,Brian,我不熟悉这种技术,当我完成我正在进行的当前项目时会尝试它。再次感谢您的帮助。
【解决方案2】:

假设您的数据在 A 列中,在第 1 行的相邻列中输入此公式,然后填写:

=IF(A1<PERCENTILE(A:A,0.1),1
,IF(A1<PERCENTILE(A:A,0.2),2
,IF(A1<PERCENTILE(A:A,0.3),3
,IF(A1<PERCENTILE(A:A,0.4),4
,IF(A1<PERCENTILE(A:A,0.5),5
,IF(A1<PERCENTILE(A:A,0.6),6
,IF(A1<PERCENTILE(A:A,0.7),7
,IF(A1<PERCENTILE(A:A,0.8),8
,IF(A1<PERCENTILE(A:A,0.9),9,10
)))))))))

这将显示第一个十分位数为 1,第二个十分位为 2,第三个为 3,依此类推。

【讨论】:

  • 我认为这会给你同样的东西。 =10*ROUNDUP(COUNT(A1:A$325)/COUNT(A$1:A$325),1) *假设您的数据在 a1:a325
  • 嘿抱歉我没有早点回复,谢谢你的回答,有机会我会试试这个。
  • @Andy,Brian 的解决方案更简洁
  • ak :) 谢谢你,在 stackoverflow 上相对较新,在确定谁的答案最好时我有点犹豫。
【解决方案3】:

我有同样的疑问,在这个论坛上找到了答案: https://www.mrexcel.com/forum/excel-questions/581682-create-decile-segments.html

试试:

=INT((ROWS($A$1:A1) - 1) * 10 / ROWS($A$1:$A$3890))+1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多