可疑并发症

时间:2017-12-04 17:12:39

标签: excel-vba excel-formula excel-2010 excel-2007 vba

我试图从我的数据集中找到最低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

1 个答案:

答案 0 :(得分:1)

如果您要排除0,请使用此<:p>

=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")),"")

enter image description here