如何计算Excel中每行的Quintile?

时间:2015-02-02 21:59:22

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

我试图计算Excel中每一列的五分位数。

Excel中每行的结果值应为1,2,3,4或5。

值为1将是前20%,值5为最低20%。

这是我目前正在使用的公式,但我很想知道是否有人有更好的方法,UDF或在我的公式中看到错误......

=ROUNDDOWN(RANK.AVG(A1,$A$1:$A$131,0)/((COUNT(A$1:A$131)+1)/5),0)+1

A1至A131的值为I' m放置在五分位数。

由于

2 个答案:

答案 0 :(得分:4)

您建议的配方适合我......但我认为有几种方法可以做到这一点,例如:使用PERCENTILE函数获取断点,然后与MATCH匹配,即。

=MATCH(A1,PERCENTILE(A$1:A$131,{5,4,3,2,1}/5),-1)

在大多数情况下,结果与公式相同,但边界可能存在一些差异

答案 1 :(得分:0)

我喜欢=MATCH(A1,PERCENTILE(A$1:A$131,{5,4,3,2,1}/5),-1)的简单性。我将结果与包括以下步骤的两步手动过程进行了比较:1)计算0.2、0.4的4个百分位数。 .6 .8和2)嵌套的IF语句的组合,最终得到与= Match建议的公式相同的结果,并具有250个值。

I.E。 步骤1:

=PERCENTILE.INC($J$3:$J$257,0.2) -> Adjust 0.2 to 0.4; 0.6; 0.8 accordingly

第2步:

=IF(J3<=$AB$3,5,
 IF(J3<=$AB$4,4,
 IF(J3<=$AB$5,3,
 IF(J3<=$AB$6,2,
 1))))

将每个值与在步骤1中计算出的= PERCENTILE.INC进行比较