0

我有一张这样的桌子

col1    col2
a   1
a   2
a   3
a   4
a   5
b   6
b   7
b   8
b   9
b   10

我想为 col1 中的每个组编写一个 PERCENTILE 函数。有没有办法通过旋转这个表并编写自定义函数 PERCENTILE。但是数据透视表中的计算字段不允许编写函数。我必须在没有 VBA 的情况下这样做

我必须写,以找到前 70% 的平均值,如下所示。但是如何获得子范围?

col1    col2
a   =AVERAGEIF(B1:B5,">"&Percentile(B1:B5,0.7))
b   =AVERAGEIF(B6:B10,">"&Percentile(B6:B10,0.7))
4

1 回答 1

1

您可以使用数组公式来做到这一点,因为 percentile 函数接受数组:

=PERCENTILE(IF($A$2:$A$11=D2,$B$2:$B$11,""),0.7)

示例 1

这需要使用 ctrl+shift+enter 作为数组公式输入。

{=PERCENTILE(IF($A$2:$A$11=D2,$B$2:$B$11,""),0.7)}

示例 2

只需将其自动填充到列中即可。如果您需要有关如何复制粘贴列的唯一值的示例,请告诉我。

如果你愿意,你可以像这样测试它。有用:

=PERCENTILE(B7:B11,0.7)

示例 3

祝你好运。

于 2013-05-20T16:10:07.503 回答