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

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

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

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

注意

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

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

以下是将数据透视表转换为工作表公式以自定义所转换单元格布局的典型示例。

重新排列和删除单元格 

假设您每月需要为员工创建一份定期报告。 您只需要报表信息的子集,并且您更喜欢以自定义方式布置数据。 只需在所需的设计布局中移动和排列单元格,删除每月员工报告不需要的单元格,然后根据偏好设置单元格和工作表的格式。

插入行和列 

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

使用多个数据源 

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

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

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

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

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

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

假设你想要创建一份报告,显示三位特定销售人员在 7 月份对某种产品的销售额。 如果您熟悉 MDX 表达式和 OLAP 查询,您可以自行输入多维数据集公式。 虽然这些公式可能变得非常复杂,但你可以使用公式自动完成来简化公式的创建并提高它们的准确性。 如需了解详细信息,请参阅使用公式记忆式键入

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

注意

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

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

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

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

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

  5. 确定希望如何转换数据透视表:
    转换整个数据透视表 

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

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

      注意

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

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

    注意

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

使用 GETPIVOTDATA 函数转换单元格

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

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

    注意

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

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

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

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

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

注意

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

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