如何从 Excel 中的枢轴 table 动态获取最后一个值
How to get dynamically the last value from a pivot table in Excel
我有一个枢轴 table 就像图中的那个:
table每月更新一次。
问题是:如何在没有 VBA 的情况下使用函数动态获取 table 的最后一个值?
例如,在这种情况下,最后一个值为 -32,刚好高于“总计”值。
我正在考虑使用函数“GETPIVOTDATA”,但我不知道如何将动态引用更改为最后插入的值。目前,公式如下所示:
=GETPIVOTDATA("[Measures].[Count of DESIGNER]";$A;
"[Components_Drawings_Data].[DATE (Month)]";
"[Components_Drawings_Data].[DATE (Month)].&[giu]")
我详细阐述了这个技巧。
假设枢轴 table 的“月”列对应于 A 列,“增量”列对应于 B 列。
我会使用这个公式:
=INDEX(B:B;MATCH("Grand Total";A:A;0)-1)
它可以工作。
截图(下)/here参考
假设:
- 您可以隔离枢轴 table 这样就没有填充的单元格
在它下面(合理的前提,因为它是 'dynamic' 并且如此可变
回复:# 行)
- 您没有在公式中使用数据透视表引用
- 您没有预料到任何行标签 = 'Grand Total'(至少可以说这是不寻常的,但是请参阅下面的替代函数)
- 正在显示列的总计
那么下面将实现你所指出的:
...how can I dynamically get the last value of the table with a
function, without VBA?
=OFFSET(INDEX($F:$F0,MATCH("grand total", LOWER($F:$F1),0)),0,1,1,1)
注意:上面屏幕截图中单元格 L3 中的公式包含一个仅用于演示/易于使用的包装器 - 即 'Item'(J 列)指的是来自 Grand 的单元格数量 'up'总计在枢轴的最底部 table... 例如对于 item = 1(上一级),返回 119(对应 'woman');对于 item = 2(向上两层,77 个显示器等等。
可以用非常相似的方式确定相应的标签:
INDEX($F:$F0,MATCH("grand total", LOWER($F:$F1),0)-J3+1)
Alternative/direct(不依赖于 cols 的总计):
=OFFSET(F3,COUNTA(F3:F100)-2,1,1,1)
我有一个枢轴 table 就像图中的那个:
table每月更新一次。 问题是:如何在没有 VBA 的情况下使用函数动态获取 table 的最后一个值? 例如,在这种情况下,最后一个值为 -32,刚好高于“总计”值。 我正在考虑使用函数“GETPIVOTDATA”,但我不知道如何将动态引用更改为最后插入的值。目前,公式如下所示:
=GETPIVOTDATA("[Measures].[Count of DESIGNER]";$A;
"[Components_Drawings_Data].[DATE (Month)]";
"[Components_Drawings_Data].[DATE (Month)].&[giu]")
我详细阐述了这个技巧。 假设枢轴 table 的“月”列对应于 A 列,“增量”列对应于 B 列。 我会使用这个公式:
=INDEX(B:B;MATCH("Grand Total";A:A;0)-1)
它可以工作。
截图(下)/here参考
假设:
- 您可以隔离枢轴 table 这样就没有填充的单元格 在它下面(合理的前提,因为它是 'dynamic' 并且如此可变 回复:# 行)
- 您没有在公式中使用数据透视表引用
- 您没有预料到任何行标签 = 'Grand Total'(至少可以说这是不寻常的,但是请参阅下面的替代函数)
- 正在显示列的总计
那么下面将实现你所指出的:
...how can I dynamically get the last value of the table with a function, without VBA?
=OFFSET(INDEX($F:$F0,MATCH("grand total", LOWER($F:$F1),0)),0,1,1,1)
注意:上面屏幕截图中单元格 L3 中的公式包含一个仅用于演示/易于使用的包装器 - 即 'Item'(J 列)指的是来自 Grand 的单元格数量 'up'总计在枢轴的最底部 table... 例如对于 item = 1(上一级),返回 119(对应 'woman');对于 item = 2(向上两层,77 个显示器等等。
可以用非常相似的方式确定相应的标签:
INDEX($F:$F0,MATCH("grand total", LOWER($F:$F1),0)-J3+1)
Alternative/direct(不依赖于 cols 的总计):
=OFFSET(F3,COUNTA(F3:F100)-2,1,1,1)