如何使用计算字段正确汇总数据透视表中的汇总字段

如何使用计算字段正确汇总数据透视表中的汇总字段

我有一张包含日期的表格,以及两个值列,项目 1 和项目 2。

Excel 数据表示例

我想制作一个数据透视表,其中包含 Item 1和的最大每月值Item 2

这按预期工作。然后我想将这些最大值相加,以获得数据透视表中项目 1 和项目 2 的最大值总和。

我尝试过使用以下计算字段:

=SUM(MAX(' Item 1'), MAX(' Item 2'))=SUM('Item 1','Item 2')

但是这会将该月的所有值和相加,Item 1Item 2不仅仅是最大值。使用数据透视表外部的公式很容易做到这一点,但我想在数据透视表中执行此操作,以便我可以将其绘制成图表并在将来添加新数据。下图显示了上述两个计算字段的结果(红色),以及数据透视表外部的简单公式,该公式给出了所需的结果(绿色)。

生成的数据透视表和期望结果

我在 Windows 10 上使用 Excel Professional Plus 2016。如果您想尝试,下面是示例数据。

Date    Item 1  Item 2
01/01/2020  2   8
02/01/2020  3   6
03/01/2020  5   4
04/01/2020  3   7
05/01/2020  5   4
06/01/2020  2   7
07/01/2020  3   4
01/02/2020  7   6
02/02/2020  3   4
03/02/2020  6   3
04/02/2020  3   7
05/02/2020  2   8
06/02/2020  5   7
07/02/2020  5   3
01/03/2020  3   8
02/03/2020  5   6
03/03/2020  7   3
04/03/2020  8   7
05/03/2020  3   4
06/03/2020  2   2
07/03/2020  5   5

答案1

我怀疑 excel 中的普通数据透视表函数不足以计算某个数据透视表集中的 min() 和 max(),因为 min() 和 max() 函数应该只在逐行基础上工作。您需要创建一个“度量”(例如,某组单元格的最大值,您可以说它们是可以进行更多操作的计算字段)来告诉 excel 表达式为您计算一组单元格的值。这似乎在普通的旧数据透视表中不起作用。

但是,此功能在 MsExcel 中的 PowerPivot 中提供,它使用 DAX 表达式创建“度量值”(类似于计算字段,但可以使用 DAX 函数进行操作)。通常不启用此插件,因此您需要在 COM 插件中启用它。

如果您使用的是 MSOffice 2013 或更高版本,您可以在文件 >> 选项中启用 PowerPivot 插件,选择 COM-addin,然后选择转到,然后根据需要使用 PowerPivot 模块中的附加功能。

https://support.office.com/en-us/article/start-the-power-pivot-add-in-for-excel-a891a66d-36e3-43fc-81e8-fc4798f39ea8

启用 Powerpivot 插件后,您可以使用 maxx(datatable, datatable[item1]) 创建一个新度量 MaxItem1。然后您可以使用此 MaxItem1 度量来执行 sum()。您可能需要使用 sumx(datatable, datatable[MaxItem1]+datatable[MaxItem2])。

类似地,可以使用 minx() 来创建 MinItem 值。

您可以参考这个 5 分钟的视频来了解如何在 Powerpivot 中操作。这个视频实际上并没有使用 sum() 函数。您可以研究 sumx() 来制作如上所述的精确函数,这并不难。

https://www.youtube.com/watch?v=lE2OAPh-Zf8

(我不知道这个论坛是否允许引用视频,如果我做错了,请版主纠正我。不幸的是,我目前使用的 excel 是 2010,我无法创建 XLS 文件供您直接参考。但我想视频很清晰,而且很容易做到。)

相关内容