如何将原始表格转换为目标格式?Pivot table操作问题求解
表格转指定行列表格的可行方案
用Excel内置功能即可实现,不需要第三方工具,以下是3种可直接落地的方法:
方案1:调整数据透视表设置(操作成本最低)
数据透视表默认求和的问题可以通过修改值规则解决,操作步骤:
- 插入透视表后,将固定在左侧的分类字段全部拖入「行」区域,需要拆分为列头的维度字段拖入「列」区域,待展示内容的字段拖入「值」区域
- 点击值区域字段的下拉按钮,选择「值字段设置」,将默认的「求和」计算类型改为非重复计数;如果需要直接展示原始文本而非统计值,在透视表设计栏将布局调整为「表格形式」,关闭分类汇总、总计行,勾选「重复所有项目标签」即可匹配目标格式。
注意:2013及更早版本Excel的透视表无「非重复计数」选项,建议使用下述Power Query方案。
方案2:Power Query动态转换(适合需定期更新的数据集)
该方法支持一键刷新同步原始数据改动,适合批量处理场景:
- 选中原始表格,点击「数据」选项卡下的「从表格/区域」,将数据加载到Power Query编辑器
- 选中所有需要固定在左侧的行标识列,点击「转换」选项卡-「逆透视列」-「逆透视其他列」,将需要转为列头的维度统一转换为行属性
- 选中生成的「属性」列(内容即为目标表格的列头),点击「转换」选项卡-「透视列」,值列选择待展示的内容列,在高级选项中将聚合函数设置为
不要聚合 - 点击「关闭并上载」,即可生成与目标效果完全一致的表格。
方案3:动态数组函数实现(适用于Excel 365/2021及以上版本)
如果使用的是支持动态数组的Excel版本,可直接通过公式生成结果:
- 先用
UNIQUE()函数分别提取左侧行维度、顶部列维度的唯一值 - 再用
XLOOKUP()或FILTER()函数匹配行列交叉点的对应内容即可,无需手动调整透视表配置。
参考样式
- 原始表格:

- 目标转换效果:

内容的提问来源于stack exchange,提问作者Engr Chris
相关产品推荐
相关产品推荐

