2013-05-20 148 views
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。但是数据透视表中的计算字段不允许编写函数。我不得不这样做没有VBA

我必须写,发现平均的前70%,像下面。但如何获得子范围?

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

请重新表述它作为一个问题,如果可以的话,更清楚地说明问题,请。事实上,我真的不确定问题是什么。 – AJMansfield

+0

@AJMansfield希望我的编辑能够解释我的需求。谢谢 – Gokul

+0

你看过所有的Value Field Settings吗?正如我之前所做的那样,几乎可以肯定它是一个内置的PT的一部分....右键单击列转到值字段设置,然后通过AND显示值进行汇总。你可能需要挖掘一点点,但我确实记得之前完成这一点。 – user2140261

回答

1

你可以做到这一点与由于百分函数数组公式接受数组:

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

Example1

这需要输入与CTRL + SHIFT +输入数组公式。

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

Example2

就自动补下来列。让我知道是否需要一个如何复制粘贴列的唯一值的示例。

你可以像这样测试它,如果你想要的。它的工作原理:

=PERCENTILE(B7:B11,0.7) 

Example3

好运。