跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在 Excel 中将数据透视表转换为列表?

Author Sun Last modified

在日常的 Excel 工作中,您可能会构建一个综合的数据透视表,以分析、汇总或可视化大量数据。然而,在某些情况下,您可能需要“展平”或将结构化的数据透视表转换回常规列表或标准表格格式——可能是为了进一步处理数据、与他人共享,或将数据导入到其他应用程序中。本教程探讨了在 Excel 中将数据透视表转换回列表的几种实用方法,适用于小型和大型数据集。

将数据透视表转换为列表

VBA代码:自动将数据透视表转换为列表


arrow blue right bubble 将数据透视表转换为列表

在将数据透视表转换为标准列表之前,请确保数据透视表布局已按需完成。例如,假设您设计了以下数据透视表,并希望将其恢复为平面列表结构:

sample pivottable

1. 在数据透视表中选择任意单元格。转到功能区上的“设计”选项卡,选择“分类汇总”,然后选择“不显示分类汇总”。此步骤会移除任何可能干扰所需平面列表格式的子组或小计行。

click Do Not Show Subtotals from Subtotals

2. 仍在“设计”选项卡下,点击“总计”,然后选择“关闭行和列的总计”。关闭总计可以确保只保留实际数据,防止汇总行或列出现在输出结果中。

click Off for Rows and Columns under the design tab

3. 在“设计”选项卡内,点击“报表布局”,并选择“重复所有项目标签”。这一步对于展平多级行标签非常重要,因此最终列表中的每一行都会正确显示其上下文,无论其所属组或类别。

click Repeat All Item Labels under the design tab

4. 再次点击“报表布局”,然后选择“以表格形式显示”。表格形式以真正的列式布局呈现所有数据,更接近于标准列表或表格。

click Show in Tabular Form in the Report Layout tab

此时,您的数据透视表将类似于传统表格,使其更容易作为列表导出:

pivottable is changed

5. 为进一步简化输出结果,转到“选项”(或根据您的 Excel 版本可能是“分析”)选项卡。在“显示”组中,取消选中“按钮”和“字段标题”。移除这些元素有助于清理用于列表转换的数据,使输出更加整洁。

uncheck Buttons and Field Headers options

现在,您的数据透视表将变得更加清晰,只显示相关数据字段:

pivottable is changed without buttons

6. 如果您希望将空白单元格显示为零值,右键单击数据透视表中的任意单元格,然后选择“数据透视表选项”。在弹出的对话框中,取消选中“对于空单元格,显示”。然后点击“确定”。这一步确保导出的列表不会在预期有值的地方出现空白,这对进一步处理或导入其他系统时至关重要。

uncheck For empty cells show option

7. 选择要转换的整个数据透视表区域。按 Ctrl + C 进行复制,然后将光标移动到工作表中您希望显示列表的目标单元格位置。右键单击,选择“选择性粘贴”,并选择“数值 (V)”。这个过程只粘贴结果作为静态值,没有任何数据透视表结构或交互性。

copy and paste the pivottable as values

注意:在 Excel 2007 或更早版本中,使用“开始 > 粘贴 > 粘贴值”来完成此步骤。

粘贴后,您的数据现在将以标准列表格式显示,准备好进行进一步分析、共享或导出:

PivotTable is displayed as normal list

这种方法简单直接,适用于不需要频繁更新的小型到中型数据透视表。但是,如果您有一个动态或经常变化的数据透视表,请考虑自动化此转换过程或使用内置的数据转换工具以提高效率和准确性。此外,带有计算字段或分组项的复杂数据透视表在转换后可能需要额外调整。


arrow blue right bubble VBA代码:自动将数据透视表转换为列表

如果需要频繁将数据透视表转换为标准列表,或者您的数据透视表特别大,自动化这一过程可以节省大量时间和精力。使用 VBA(Visual Basic for Applications),您可以以最少的手动步骤将数据透视表展平为列表。该解决方案适用于高级用户、批量处理或处理数十个甚至数百个数据透视表的情况。

优点:重复任务快速处理,能够处理大数据集,减少手动错误的机会。
缺点:需要启用宏并对 VBA 有所了解。建议在首次运行代码前做好备份。

1. 单击“开发工具 > Visual Basic”打开 VBA 编辑器。在编辑器中,单击“插入 > 模块”,并将以下代码粘贴到新模块窗口中:

Sub ConvertPivotTableToList()
    Dim pt As PivotTable
    Dim wsPivot As Worksheet
    Dim rngTable As Range
    Dim wsNew As Worksheet
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set wsPivot = Application.ActiveSheet
    Set pt = wsPivot.PivotTables(1)
    
    If pt Is Nothing Then
        MsgBox "No PivotTable found on the current sheet.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    Set rngTable = pt.TableRange2
    Set wsNew = Worksheets.Add
    
    rngTable.Copy
    wsNew.Range("A1").PasteSpecial Paste:=xlPasteValues
    
    Application.CutCopyMode = False
    
    MsgBox "Converted PivotTable to static list on new sheet: " & wsNew.Name, vbInformation, xTitleId
End Sub

2. 返回工作表并选择要转换为列表的数据透视表。按 Alt + F8,从宏列表中选择 ConvertPivotTableToList,然后单击“运行”。这将在新工作表中创建一个静态列表形式的数据透视表副本。

如果遇到错误消息,请检查在运行宏之前是否选择了包含数据透视表的正确工作表。同时,确保已在 Excel 中启用了宏。如果您的工作簿包含多个数据透视表,此代码将处理活动工作表上找到的第一个数据透视表。

提示:您可以进一步修改代码以处理工作簿中的所有数据透视表,或指定要转换的数据透视表。


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠