如何用Excel Power Query的PIVOT/UNPIVOT将关联列对转成行?
使用Excel Power Query实现阶梯价格表结构转换
完全可以通过Power Query的逆透视(Unpivot)+透视(Pivot)组合操作实现需求,具体步骤如下:
导入数据到Power Query
- 选中原始阶梯价格表的所有数据区域(包含表头)
- 切换到「数据」选项卡,点击「从表格/区域」,在弹出的对话框中勾选「我的表格有标题」,点击确定进入Power Query编辑器
逆透视非标识列
- 在Power Query编辑器中,选中
ArtNr列(唯一的标识列) - 切换到「转换」选项卡,点击「逆透视列」→「逆透视其他列」
- 此时表格会生成两列:
Attribute(存储原列名如Amount1、Price1)和Value(存储对应数值)
- 在Power Query编辑器中,选中
拆分属性列
- 选中
Attribute列,切换到「转换」选项卡,点击「拆分列」→「按分隔符」 - 在拆分设置中,选择「数字之前」,点击确定后会拆分为两列:
Attribute.1(前缀:Amount/Price)和Attribute.2(序号:1/2/3)
- 选中
透视重组列
- 选中
Attribute.1列,切换到「转换」选项卡,点击「透视列」 - 在透视设置中,「值列」选择
Value,「高级选项」选择「不要聚合」,点击确定 - 此时表格会生成
Amount和Price列,每个ArtNr对应不同阶梯的行数据
- 选中
整理并导出数据
- 删除多余的
Attribute.2列 - 调整列顺序为
ArtNr→Amount→Price - 切换到「主页」选项卡,点击「关闭并上载」,将处理后的数据导出到Excel工作表
- 删除多余的
处理后的数据结构将完全匹配你需要的格式。
内容的提问来源于stack exchange,提问作者Shohzot Nurullayev
相关产品推荐
相关产品推荐

