【发布时间】:2011-11-28 14:14:07
【问题描述】:
我有一列包含 12,000 多个数字,包括正数和负数,在 Excel 电子表格中从高到低排序。
有没有一种简单的方法可以将此范围划分为十分位数?
【问题讨论】:
-
此链接可能会有所帮助:excelusergroup.org/forums/t/431.aspx
-
很酷,谢谢,这很有帮助。
我有一列包含 12,000 多个数字,包括正数和负数,在 Excel 电子表格中从高到低排序。
有没有一种简单的方法可以将此范围划分为十分位数?
【问题讨论】:
这可能不是最有效的解决方案,但您可以尝试以下方法:
假设您的数字在单元格 A1 到 A12000 中,请在单元格 B1 =PERCENTRANK($A$1:$A$12000,A1,1) 中输入以下公式。这将计算单元格 A1 中的值的百分比排名,其中单元格 $A$1:$A$12000 中的值四舍五入到小数点后 1 位(这是您识别十分位数所需的全部内容)。
将单元格 B1 中的公式复制到单元格 B2 到 B12000。
使用 B 列中的值来标识 A 列中对应值的十分位数。0 标识大于或等于第 0 个百分位且小于第 10 个百分位的值,0.1 标识大于或等于的值第 10 个百分位和小于第 20 个百分位,依此类推。根据您的集合的大小以及是否有重复项,可能会或可能不会分配一个恰好为 1 的 PERCENTRANK 的值。
如果您使用 Excel 2010,您可以根据需要考虑使用应该取代 PERCENTRANK 的新函数 PERCENTRANK.INC 和 PERCENTRANK.EXC。
希望这会有所帮助。
【讨论】:
假设您的数据在 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,依此类推。
【讨论】:
我有同样的疑问,在这个论坛上找到了答案: 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
【讨论】: