使用 GETPIVOTDATA 处理分组数据

使用 GETPIVOTDATA 处理分组数据

我有一个数据透视表,其中的行是来自名为 的字段的值ID,该字段是一个数字,两列:LightHumidity,以及一组值Temp。我想找到一组 ID 的最大值Temp。我将 ID 从 1 到 100 分组,这涵盖了数据透视表中的所有 ID,留下一个只有一行数据的数据透视表。在每一列中,我现在都有Temp给定LightHumidity值的最大值。这一切看起来都很好,直到我尝试使用这些最大值。

我正在尝试使用如下函数:

=GETPIVOTDATA("Temp", Controls!$A$15, "Light", 50, "Humidity", 10)

也:

=GETPIVOTDATA("Temp", Controls!$A$15, "Light", 50, "Humidity", 10, "ID", "1-100")

但这会产生#REF错误。

在将 ID 分组到单个组之前,我可以使用如下函数:

=GETPIVOTDATA("Temp", Controls!$A$15, "Light", 50, "Humidity", 10, "ID", 1)

这将正确返回 1 的“Temp”值,ID其中列值与函数中给出的值匹配。

我如何修改此查询以成功获取按数字分组的值?

答案1

在我的测试中,似乎组的第一个数字可以在 GetPivotTable 公式中使用,因此如果组以 开头4,则此公式将返回正确的结果:

=GETPIVOTDATA("temp",$H$3,"light",50,"humidity",10,"id",4)

另外,您可以向源数据添加一个辅助列,并使用返回每个相应 ID 的组的公式。

在屏幕截图中,上方的数据透视表使用了“分组”功能,因此无法获取该功能的 GetPivotData。但是,下方的数据透视表使用了相同的分组,这是通过 F 列中的辅助公式实现的。

="group "&CEILING([@id]/3,1)

这允许单个值覆盖该组,并且该单个值可以在 GetPivotData 中使用它。

=GETPIVOTDATA("temp",$H$10,"light",50,"humidity",10,"group","group 2")

在此处输入图片描述

相关内容