如何创建具有最低 80% 的源数据值的数据透视表 table?

How to create a pivot table with the lowest 80% of the source data values?

我有以下数据:

PARAM    VALUE
p1       23
p1       11
p2       15
p1       37
p3       65
p1       12
...      ...

我想要的是创建一个数据透视表 table,每个参数的平均值,但不是来自完整的源数据:我希望平均值仅占每个参数的 80% 最低值。

例如: 如果 p1 具有以下值(已排序):

12
15
17
18
25

我希望枢轴 table 中的平均值考虑前 80%,即从 1218。这样我就试图过滤掉数据系列中的峰值。

该解决方案可能不是很有效,但它完成了工作。

我假设您的数据从单元格 A1 开始。

首先我将对所应用的策略进行评论,然后我将逐一介绍这些步骤。

策略

  • 最初对数据进行透视以获得每个组的 VALUEs
  • 在每个 PARAM 的枢轴上工作得到 80% PERCENTILE
  • 在初始数据中创建一个键,并将每个 VALUE 与那个 PARAM 的相应 PERCENTILE 进行比较。枢轴新数据集,你就完成了。

步数

1) C1 单元格写入 Key。在单元格 C2 中输入公式 =COUNTIF($A:A2,A2) 并复制下来。

2) 旋转此 table 并使 PARAMColumn LabelsKeyRow LabelsVALUEΣ values 像这样:

3) 在 G1 中插入此公式以获得 80% 处的值 =PERCENTILE(G4:G20,0.8) G20 取决于数据透视表的行数。

4) 在单元格 D1 中写入 key1 并在单元格 D2 中插入公式 =(B2<INDEX($G:$I,MATCH(A2,$G:$I,0)))*1 并向下复制。

5) 最后调整新的 table 并使过滤器 key1 等于 1.