【发布时间】:2018-05-18 05:21:46
【问题描述】:
我试图从我的数据集中找到底部 33%、中间 33% 和上部 33%。
我需要什么: 我需要在 excel 中获得个人的百分位数。我有数百人,他们旁边是经理的名字,所以我一直在使用下面的公式来获得基于经理的百分位数。
当前公式:
=IF(G2<AGGREGATE(18,6,G$2:G$1000/(AS$2:AS$1000=AS2),0.3333333),"Bottom",IF(G2<AGGREGATE(18,6,G$2:G$1000/(AS$2:AS$1000=AS2),0.66666666),"Middle","Top"))
问题:
这个公式应该至少有一次针对每个经理的 top、middle 和 bottom 字样。但我注意到一些经理只有上层和中层。显然我错过了什么?
更新: 我还对数字使用了以下公式,根本没有收到“底部”
=IF(A1<PERCENTILE.EXC(A:A,33.33333%),"Bottom 33%",IF(A1<PERCENTILE.EXC(A:A,66.666666%),"Middle","Upper"))
样本编号:
6.31025416
5.18260342
5.25185395
4.57484582
4.99563873
6.31717482
3.49576271
4.21992744
5.02853494
4.77338476
4.9579394
4.00174679
4.04134247
4.66614821
4.264681
1.94515737
3.96117421 0 0
1.35109777 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.97126669
0.99805933 0 0 0
【问题讨论】:
-
您能否确认
A中有小于=PERCENTILE.EXC(A:A,33.33333%)的值?似乎是一个愚蠢的问题,但只是为了确认.. -
谢谢 Forty3 - 我无法确认 A 中是否有价值
-
你能分享一个数据样本吗(只是一个显示列布局的简单表格(例如
EmpName | SomeValue | MgrName | N-Tile)?而且,如果你想“按经理”获得 n-tile 的使用A:A的PERCENTILE.EXC函数将太宽泛。 -
尝试仅使用列中的公式
=AGGREGATE(18,6,G$2:G$1000/(AS$2:AS$1000=AS2),0.3333333)并手动检查结果是否大于任何数字。 -
公式对我来说很好用:imgur.com/a/neNyV
标签: excel excel-formula excel-2010 excel-2007 vba