Ass*_*him 18 statistics excel pivot-table excel-2007 data-analysis
我在Excel电子表格中有一个大型数据表,基本上可以被认为是被识别为属于各种子群体的个人的价值集合:
IndivID SubPopID Value
1 A 33.56
2 E 42.31
3 D 16.35
4 A 50.59
5 F 80.63
...
Run Code Online (Sandbox Code Playgroud)
该表中有超过10,000个人,超过50个子群体.
我想计算每个子群体的5个数字摘要(Min,Q1,Median,Q3,Max).
枢轴表中的最小值和最大值很容易.但Q1,Q2(中位数)和Q3似乎不可能.
题
有没有办法计算Excel中数据透视表中每个子群的四分位数?
答案应如下所示:
SubPopID Min Q1 Q2 Q3 Max
A 3.23 12.06 20.35 28.29 50.59
B
C
...
Run Code Online (Sandbox Code Playgroud)
Dou*_*ncy 19
我的经验是你不能在数据透视表中做百分位数.我只是进行了网络搜索,并没有看到任何与之相矛盾的内容.我认为你能做的最好的事情就是将你的源数据放在一个表中,这样你就可以动态地引用它,然后在另一个表中使用百分位函数.
我见过一篇关于使用PowerPivot的文章,但这只在Excel 2010中提供,看起来很难.我有2010年,当遇到类似问题时,我仍然选择了我在这里建议的路线.
编辑:我建议的替代方案的解释:
在评论中回答你的问题,这是我如何从数据表中计算百分位数:

它依赖于单个公式,对于从F2到H6的每个单元都是相同的.这是一个数组公式,意思是它输入了Ctrl-Shift-Enter.它使用IF语句来过滤各种可能的SubPopID.这是F2的公式:
=PERCENTILE(IF(Table1[SubPopID]=F$1,Table1[Value],""),$E2/100)
Run Code Online (Sandbox Code Playgroud)
小智 7
如果需要检查多个列的条件(a = 1 AND b = 2),可以使用*字符展开数组
=PERCENTILE((IF((Table1[SubPopID]=[condition1]) * (Table1[SubPopID2]=[condition2]),Table1[Value]),""),$E2/100)
Run Code Online (Sandbox Code Playgroud)