如何从数据透视表中获取子范围

时间:2013-05-20 13:46:06

标签: excel

我有一张这样的表

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))

1 个答案:

答案 0 :(得分:1)

您可以使用数组公式来实现,因为百分位函数接受数组:

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

Example1

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

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

Example2

只需在列中自动填充。如果您需要一个如何复制粘贴列的唯一值的示例,请与我们联系。

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

=PERCENTILE(B7:B11,0.7)

Example3

祝你好运。