使用Excel数据透视表作为另一个数据透视表的数据源

时间:2013-12-02 16:30:41

标签: excel pivot-table

我在excel中有一个使用原始表作为其数据源的数据透视表。这个数据透视表正在进行一系列的行分组和求和。

我现在想使用这个新数据透视表的结果作为新数据透视表的数据源,这将进一步修改此数据。

这可以用excel吗?我想你可以称之为'嵌套数据透视表'

7 个答案:

答案 0 :(得分:10)

在新工作表中(您要在其中创建新的数据透视表),按下组合键(Alt + D + P)。在数据源选项列表中,选择“Microsoft Excel数据库列表”。单击“下一步”,然后选择要用作源的数据透视表(从字段的实际标题开始选择)。我假设这个范围是相当静态的,如果你刷新源枢轴并改变它的大小,你也必须重新调整范围。希望这会有所帮助。

答案 1 :(得分:4)

  • 制作您的第一个数据透视表。

  • 选择第一个左上角的单元格。

  • 使用offset:

    创建范围名称

    OFFSET(Sheet1!$A$3,0,0,COUNTA(Sheet1!$A:$A)-1,COUNTA(Sheet1!$3:$3))

  • 使用F3制作第二个带有范围名称的数据源作为数据来源。

如果您更改第一个数据透视表中的行数或列数,则第二个数据透视图将在刷新数据透视后更新

GFGDT

答案 2 :(得分:0)

您必须先将数据透视转换为值,然后才能执行此操作:

  • 删除小计
  • 重复行项目
  • 复制/粘贴值
  • 插入新的数据透视表

答案 3 :(得分:0)

正如@nutsch所暗示的,Excel不会直接执行您需要的操作,因此您必须先将数据从数据透视表复制到其他位置。但是,与其使用复制然后粘贴值不同,更好的方法是创建一些隐藏列或使用简单公式复制值的整个隐藏表。当原始数据透视表被刷新时,复制粘贴方法不是很有用。

例如,如果Sheet1包含原始数据透视表,则:

  • 创建Sheet2并将=Sheet1!A1放入Sheet2!A1
  • 根据需要在Sheet2中复制该公式以匹配原始数据透视表的大小。
  • 假设原始数据透视表可以在刷新时更改大小,您可以复制Sheet2中的公式以覆盖原始数据透视表可能采用的整个潜在区域。这将在原始单元格当前为空的单元格中放置大量零,但您可以通过使用公式=IF(Sheet1!A1="","",Sheet1!A1)来避免这种情况。
  • 根据Sheet2中的范围创建新的数据透视表,然后隐藏Sheet2。

答案 4 :(得分:0)

就个人而言,我以一种略微不同的方式解决了这个问题 - 我有一个数据透视表查询SQL服务器源,我使用时间线切片器将结果限制为日期范围 - 然后我想总结数据结果另一张桌子。

我选择了'source'数据透视表并创建了一个名为'SourcePivotData'的命名范围。

使用命名范围作为来源创建摘要数据透视表。

在源数据透视表的工作表事件中,我输入以下代码:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

'Update the address of the named range
ThisWorkbook.Names("SourcePivotData").RefersTo = "='" & Target.TableRange1.Worksheet.Name & "'!" & Target.TableRange1.AddressLocal

'Refresh any pivot tables that use this as a source
Dim pt As PivotTable
Application.DisplayAlerts = False
For Each pt In Sheet2.PivotTables
    pt.PivotCache.Refresh
Next pt
Application.DisplayAlerts = True

End Sub

很适合我! :)

答案 5 :(得分:0)

以下是我以前如何做到这一点。

  1. 放一个假列" X"在您的源数据透视表右侧。
  2. 单击该单元格并启动数据透视表。
  3. 弹出对话框后,您可以编辑数据范围以包含数据透视表。
  4. 这可能要求您先刷新源表,然后刷新辅助数据透视表...或者再刷新两次

答案 6 :(得分:0)

我猜你的最终目标是在原始数据透视表中显示Distinct(唯一)值。

例如,您可以设置数据 OrderNumber,OrderDate,OrderItem,orderQty

第一个数据透视表将显示OrderDate和OrderQty 的总和,您可能希望在同一个数据透视表中看到唯一订单的数量。 您无法在标准数据透视表中执行此操作

如果你想这样做,你需要Office 2016(或者pover Pivot可能会工作)。 在办公室2016年选择您的数据>插入>枢轴表> 选择勾选"将此数据添加到数据模型"

之后,您可以选择分组方法为Distinct(Count)