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

标签 excel average pivot-table

我有以下数据:

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

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

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

12
15
17
18
25

我希望数据透视表中的平均值考虑到前 80%,即从 1218。通过这种方式,我试图过滤掉数据系列中的峰值。

最佳答案

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

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

首先我将评论所应用的策略,然后我将一一介绍步骤。

策略

  • 最初对数据进行透视以获得每组的 VALUEs
  • 致力于每个 PARAM 的枢纽获得80% PERCENTILE .
  • 在初始数据中创建一个键并比较每个 VALUE与相应的PERCENTILE其中PARAM 。对新数据集进行透视,您就完成了。

步骤

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

2) 透视此表并得到 PARAMColumn Labels , KeyRow LabelsVALUEΣ values像这样:Excel Spreadsheet

3) 在 G1插入此公式即可得到 80% 处的值 =PERCENTILE(G4:G20,0.8) G20取决于数据透视表有多少行。

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

5) 最后对新表进行透视并设置过滤器 key1等于 1 .

关于excel - 如何创建具有最低 80% 源数据值的数据透视表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29693290/

相关文章:

python - Pandas 数据透视表将 float 转换为 int

postgresql - 如何在 where 子句中使用 sum 来计算平均值

google-sheets - 如何在 ARRAYFORMULA 中使用 SUMIFS 函数,匹配两个条件,以避免向下复制?

python - 用固定字符串替换 Pandas 数据透视表非空结果单元格

excel - 字典编译错误 : method or data member not found

C# 到 Excel - 自定义格式?

excel - 如何使用选定的组合框项目作为公式中的引用

excel - 自动将数据从 CSV 导入到 excel/计算表

mysql - Over() 函数未按预期覆盖所有行

vba - 过滤掉数据透视表中的奇数