如何在 Excel 中将数据透视表转换为列表?
在日常的 Excel 工作中,您可能会构建一个综合的数据透视表,以分析、汇总或可视化大量数据。然而,在某些情况下,您可能需要“展平”或将结构化的数据透视表转换回常规列表或标准表格格式——可能是为了进一步处理数据、与他人共享,或将数据导入到其他应用程序中。本教程探讨了在 Excel 中将数据透视表转换回列表的几种实用方法,适用于小型和大型数据集。
将数据透视表转换为列表
在将数据透视表转换为标准列表之前,请确保数据透视表布局已按需完成。例如,假设您设计了以下数据透视表,并希望将其恢复为平面列表结构:
1. 在数据透视表中选择任意单元格。转到功能区上的“设计”选项卡,选择“分类汇总”,然后选择“不显示分类汇总”。此步骤会移除任何可能干扰所需平面列表格式的子组或小计行。
2. 仍在“设计”选项卡下,点击“总计”,然后选择“关闭行和列的总计”。关闭总计可以确保只保留实际数据,防止汇总行或列出现在输出结果中。
3. 在“设计”选项卡内,点击“报表布局”,并选择“重复所有项目标签”。这一步对于展平多级行标签非常重要,因此最终列表中的每一行都会正确显示其上下文,无论其所属组或类别。
4. 再次点击“报表布局”,然后选择“以表格形式显示”。表格形式以真正的列式布局呈现所有数据,更接近于标准列表或表格。
此时,您的数据透视表将类似于传统表格,使其更容易作为列表导出:
5. 为进一步简化输出结果,转到“选项”(或根据您的 Excel 版本可能是“分析”)选项卡。在“显示”组中,取消选中“按钮”和“字段标题”。移除这些元素有助于清理用于列表转换的数据,使输出更加整洁。
现在,您的数据透视表将变得更加清晰,只显示相关数据字段:
6. 如果您希望将空白单元格显示为零值,右键单击数据透视表中的任意单元格,然后选择“数据透视表选项”。在弹出的对话框中,取消选中“对于空单元格,显示”。然后点击“确定”。这一步确保导出的列表不会在预期有值的地方出现空白,这对进一步处理或导入其他系统时至关重要。
7. 选择要转换的整个数据透视表区域。按 Ctrl + C 进行复制,然后将光标移动到工作表中您希望显示列表的目标单元格位置。右键单击,选择“选择性粘贴”,并选择“数值 (V)”。这个过程只粘贴结果作为静态值,没有任何数据透视表结构或交互性。
注意:在 Excel 2007 或更早版本中,使用“开始 > 粘贴 > 粘贴值”来完成此步骤。
粘贴后,您的数据现在将以标准列表格式显示,准备好进行进一步分析、共享或导出:
这种方法简单直接,适用于不需要频繁更新的小型到中型数据透视表。但是,如果您有一个动态或经常变化的数据透视表,请考虑自动化此转换过程或使用内置的数据转换工具以提高效率和准确性。此外,带有计算字段或分组项的复杂数据透视表在转换后可能需要额外调整。
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 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和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠