在 Excel 中使用数据透视表时,用新名称覆盖某些数据透视表标签通常很有用。
如果您有一长串重新标记的项目,则很容易忘记原始标签是什么。我发现恢复原始标签的唯一方法是进入源数据,找出所有原始标签,然后逐个更改数据透视表标签。
我有超过 50 个重命名的标签,这很繁琐。
有没有办法可以一次性清除给定字段的所有重命名的数据透视表标签?
编辑:我正在使用 Excel 2010,但也对后续版本中提供的任何方法感兴趣。
答案1
- 重命名源中的列标题/名称
- 刷新数据透视表。这将删除所有强制标签并从数据透视表中删除字段。
- 将列名称重命名为原来的名称
- 再次刷新数据透视表
- 将该字段添加回您的数据透视表中。
答案2
此宏将删除工作簿中所有数据透视表的行标签和列标签中的所有标题。这不适用于 PowerPivot 表。
Sub FixPivotItemCaptions()
Dim pi As PivotItem
Dim pt As PivotTable
Dim wb As Workbook
Dim ws As Worksheet
Dim pf As PivotField
Set wb = ActiveWorkbook
Application.ScreenUpdating = False
For Each ws In wb.Worksheets
For Each pt In ws.PivotTables
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
pi.Caption = pi.SourceName
Next
Next
Next
Next
Application.ScreenUpdating = True
End Sub
答案3
如果所讨论的列已经在多个 Pivot 中,并且重新添加该列需要花费一些精力或麻烦,或者您担心会破坏某些布局,那么我建议采用以下简单方法:
- 在数据透视表中的任意位置单击鼠标右键,选择“数据透视表表选项”,选择“数据”选项卡并将“每个字段保留的项目数”更改为无。
- 刷新数据透视表
就这样,旧的字段标签项(“别名”)被遗忘了。您可能想将数据别名重命名为您想要的名称,并可能将“每个字段要保留的项目数”撤消为自动。
答案4
另一种选择是,如果您由于某种原因无法使用“重命名原始列”选项:
首先,清除Use Custom Lists when Sorting
。即取消设置Pivot Table Options -> Totals & Filters -> Sorting: Use Custom Lists when Sorting
然后在行标签上使用“按 AZ 排序”。
这将使数据透视表按“正确”顺序排列原来的标签。
只要您知道原始标签是什么,您现在就可以恢复它们。
请注意,当您进行更改时,行会跳来跳去 - 您可能需要在每次进行更改后重复排序。