我有一个数据透视表,其中的行是来自名为 的字段的值ID
,该字段是一个数字,两列:Light
和Humidity
,以及一组值Temp
。我想找到一组 ID 的最大值Temp
。我将 ID 从 1 到 100 分组,这涵盖了数据透视表中的所有 ID,留下一个只有一行数据的数据透视表。在每一列中,我现在都有Temp
给定Light
和Humidity
值的最大值。这一切看起来都很好,直到我尝试使用这些最大值。
我正在尝试使用如下函数:
=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")