用于计算百分位数的条件数组

Conditional array to calculate percentiles

我有一些数据如下:

    val   crit  perc
0.415605498 1   perc1
0.475426007 1   perc1
0.418621318 1   perc1
0.51608229  1   perc1
0.452307882 1   perc1
0.496691416 1   perc1
0.402689126 1   perc1
0.494381345 1   perc1
0.532406777 1   perc1
0.839352016 2   perc2
0.618221702 2   perc2
0.83947033  2   perc2
0.621734007 2   perc2
0.548656662 2   perc2
0.711919796 2   perc2
0.758178085 2   perc2
0.820954467 2   perc2
0.478645786 2   perc2
0.848323655 2   perc2
0.844986383 2   perc2
0.418155292 2   perc2
1.182637063 3   perc3
1.248876472 3   perc3
1.218368809 3   perc3
0.664934398 3   perc3
0.951692853 3   perc3
0.848111264 3   perc3
0.58887439  3   perc3
0.931530464 3   perc3
0.676314176 3   perc3
1.270797783 3   perc3

我正在尝试使用 percentile.inc() 函数来计算 crit 的每个级别的第 5 个百分位数(因为我已经将变量 var 到 类).

我试过使用 {=PERCENTILE.INC(IF($B:$B=1,$A:$A,IF($B:$B=2,$A:$A,IF($B:$B=3,$A:$A,""))),0.05)},但它所做的只是计算整个数组的百分位数,并没有返回条件百分位数。

非常欢迎任何帮助(仅供参考,我必须在 26000 行和 20 个级别的 crit 上执行此操作)!

这对我有用。我有以下布局:

我在 G3 中使用了以下公式:

=PERCENTILE.INC(IF(B:B=F3,A:A),0.05)

这是数组公式,所以输入Ctrl+Shift+Enter。 适当向下拖动。