【问题标题】:Percetile complications百分位并发症
【发布时间】: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:APERCENTILE.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


【解决方案1】:

如果你想排除 0 使用这个:

=IF(G2<>0,IF(G2<AGGREGATE(18,6,G$2:G$1000/((AS$2:AS$1000=AS2)*(G$2:G$1000<>0)),0.3333333),"Bottom",IF(G2<AGGREGATE(18,6,G$2:G$1000/((AS$2:AS$1000=AS2)*(G$2:G$1000<>0)),0.66666666),"Middle","Top")),"")

【讨论】:

  • 从外观上看,这很完美——不知道你是如何计算出我的目标的。谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
相关资源
最近更新 更多