将数据透视表单元格转换为工作表公式

应用对象
Microsoft 365 专属 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

数据透视表具有多个向报表提供预定义结构的布局,但无法自定义这些布局。 如果在设计数据透视表的布局方面需要更大的灵活性,可以将单元格转换为工作表公式,然后通过充分利用工作表中提供的所有功能来更改这些单元格的布局。 可以将单元格转换为使用 Cube 函数的公式,也可以使用 GETPIVOTDATA 函数。 将单元格转换为公式大大简化了创建、更新和维护这些自定义数据透视表的过程。

将单元格转换为公式时,这些公式访问的数据与数据透视表相同,并且可以刷新以查看最新结果。 但是,除了报表筛选器之外,你不再有权访问数据透视表的交互功能,例如筛选、排序或展开和折叠级别。

注意

将联机分析处理 (OLAP) 数据透视表时,可以继续刷新数据以获取最新的度量值,但无法更新报表中显示的实际成员。

了解将数据透视表转换为工作表公式的常见方案

下面是在将数据透视表单元格转换为工作表公式以自定义已转换单元格布局后可以执行的操作的典型示例。

重新排列和删除单元格 

假设你有一个定期报告,你需要每月为员工创建一个报告。 只需一部分报表信息,并且希望以自定义方式布局数据。 只需在所需的设计布局中移动和排列单元格,删除每月员工报表不需要的单元格,然后根据自己的偏好设置单元格和工作表的格式。

插入行和列 

假设你想要显示按区域和产品组细分的前两年的销售信息,并且希望在其他行中插入扩展注释。 只需插入一行并输入文本即可。 此外,还希望添加一个列,该列按区域和产品组显示不在原始数据透视表中的销售额。 只需插入一列,添加公式即可获取所需结果,然后向下填充该列以获取每行的结果。

使用多个数据源 

假设你想要比较生产数据库和测试数据库之间的结果,以确保测试数据库正在生成预期结果。 可以轻松复制单元格公式,然后将连接参数更改为指向测试数据库,以比较这两个结果。

使用单元格引用来改变用户输入 

假设你希望整个报表根据用户输入进行更改。 可以将多维数据集公式的参数更改为工作表上的单元格引用,然后在这些单元格中输入不同的值来派生不同的结果。

创建不一致性的行或列布局 (也称为非对称报告)  

假设需要创建一个报表,其中包含名为“实际销售额”的 2008 列、名为“预测销售额”的 2009 列,但不需要任何其他列。 可以创建只包含这些列的报表,这与需要对称报告的数据透视表不同。

创建自己的多维数据集公式和 MDX 表达式 

假设你希望创建一个报表,显示 7 月三名特定销售人员的某一特定产品的销售额。 如果了解 MDX 表达式和 OLAP 查询,可以自行输入多维数据集公式。 尽管这些公式可以变得非常详细,但你可以使用公式自动完成来简化这些公式的创建并提高其准确性。 如需了解详细信息,请参阅使用公式记忆式键入

将单元格转换为使用多维数据集函数的公式

注意

只能使用此过程将联机分析处理 (OLAP) 数据透视表。

  1. 若要保存数据透视表以供将来使用,建议先创建工作簿的副本,然后再单击“ 文件>另存为”转换数据透视表。 有关详细信息,请参阅 保存文件

  2. 准备数据透视表,以便通过执行以下操作来最大程度地减少转换后单元格的重新排列:

    • 更改为最类似于所需布局的布局。
    • 与报表交互,例如筛选、排序和重新设计报表,以获取所需的结果。
  3. 单击数据透视表。

  4. 在“ 选项 ”选项卡上的“ 工具 ”组中,单击“ OLAP 工具”,然后单击“ 转换为公式”。
    如果没有报表筛选器,则转换操作完成。 如果存在一个或多个报表筛选器,则会显示“ 转换为公式 ”对话框。

  5. 决定要如何转换数据透视表:
    转换整个数据透视表 

    • 选中“转换报表筛选器检查”框。
      这会将所有单元格转换为工作表公式并删除整个数据透视表。
      仅转换数据透视表行标签、列标签和值区域,但保留报表筛选器 

    • 确保清除“转换报表筛选器检查”框。 (这是 default.)
      这会将所有行标签、列标签和值区域单元格转换为工作表公式,并保留原始数据透视表,但仅包含报表筛选器,以便您可以使用报表筛选器继续筛选。

      注意

      如果数据透视表格式为版本 2000-2003 或更低版本,则只能转换整个数据透视表。

  6. 单击“转换”
    转换操作首先刷新数据透视表,以确保使用最新数据。
    发生转换操作时,状态栏中会显示一条消息。 如果操作耗时较长,并且你希望在另一时间进行转换,请按 ESC 取消操作。

    注意

    • 不能转换应用于隐藏级别的筛选器的单元格。
    • 不能转换字段具有自定义计算的单元格,这些计算是通过“值字段设置”对话框的“显示为值”选项卡创建的。 (在“ 选项 ”选项卡上的“ 活动字段 ”组中,单击“ 活动字段”,然后单击“ 值字段设置”。)
    • 对于已转换的单元格,将保留单元格格式,但会删除数据透视表样式,因为这些样式只能应用于数据透视表。

使用 GETPIVOTDATA 函数转换单元格

如果要使用非 OLAP 数据源、不想立即升级到新的数据透视表版本 2007 格式,或者想要避免使用多维数据集函数的复杂性,则可以在公式中使用 GETPIVOTDATA 函数将数据透视表单元格转换为工作表公式。

  1. 确保“选项”选项卡上“数据透视表”组中的“生成 GETPIVOTDATA”命令已打开。

    注意

    “生成 GETPIVOTDATA”命令设置或清除“Excel 选项”对话框中“使用公式”部分的“公式”类别中的“使用 GETPIVOTTABLE 函数进行数据透视表引用”选项

  2. 在数据透视表中,确保要在每个公式中使用的单元格可见。

  3. 在数据透视表外部的工作表单元格中,键入要包含报表中数据的点所需的公式。

  4. 单击数据透视表中要在数据透视表中的公式中使用的单元格。 GETPIVOTDATA 工作表函数将添加到公式中,用于从数据透视表检索数据。 如果报表布局发生更改或刷新数据,此函数将继续检索正确的数据。

  5. 完成键入公式并按 Enter。

注意

如果从报表中删除 GETPIVOTDATA 公式中引用的任何单元格,公式将返回 #REF!。

问题:无法将数据透视表单元格转换为工作表公式