2012-06-21 165 views
0

嗨我想从Excel数据透视表中存储的数据开始进行一些计算。Excel数据透视表范围参考

我知道有一个GetPivotData函数,这是非常有用的,但它只允许检索单个值。我想使用工作表函数来“查询”我的数据(例如,在一列中求和一些值,而不过滤数据透视表),但我找不到方法来轻松引用数据透视表的范围。可以假定 该表的“结构”是固定的,而不是在它的数据:我发现最好的解决方法是写一个UDF函数来获得所述参考表中的范围为:

Function getPvRange(firstcell As Range) As Range 
    Set getPvRange = firstcell.PivotTable.TableRange1 
End Function 

我可以在我的公式中使用这个函数。我想知道是否有简单的(我的意思是没有定义动态范围名称)直接方式(我的意思是,不使用VBA)引用数据透视表范围?

回答

0

如果您只是想将数据透视表中的单元格称为正常单元格,则可以禁用自动生成的GetPivotData函数。调出数据透视表工具栏,点击添加按钮,然后选择'Generate GetPivotData'。然后,您可以使用新按钮切换自动公式。

还是你想做一些更复杂的事情?如果是这样,请你能举个例子吗?

+0

我在表中汇总了一些数据,这些数据汇总在数据透视表中。我想对汇总数据进行进一步计算:我想知道在数据透视表中引用范围的最佳方式是什么(只要我在原始表中添加数据,增长率就会增加) – AleV

+0

感谢您的澄清。请你可以发表一个例子,说明在相关范围扩展之前和之后表格的样子。我怀疑你将不得不钻研VBA或定义动态范围。 – user667489

0

如果您的工作表很简单,使用Excel偏移功能是一种获取数据透视表范围作为您提供的功能的方法。例如,创建了一个命名范围,并将范围赋值为

=offset($A$1,,,counta($a:$a),15)