You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel Power Query如何对名值列对执行无聚合转置/透视操作

Power Query 长表转宽表操作方案

操作步骤(界面化操作,无需复杂代码)

  • 先添加索引列:点击「添加列」选项卡 →「索引列」→ 选择「从1开始」,给每行加唯一行号
  • 生成分组ID:
    1. 选中Name列,筛选值为name的行(每个度量项的第一行都是name属性,作为分组起始标记)
    2. 右键点击新增的索引列,选择「填充」→「向下」,同一个度量项的所有行就会被分配到同一个ID下
    3. 取消Name列的筛选,恢复全表数据
  • 执行透视操作:
    1. 选中Name列,点击「转换」选项卡 →「透视列」
    2. 值列选择Value,聚合函数选项选择「不要聚合」,确认后即可生成宽表结构
  • 收尾调整:删除临时新增的索引列、分组ID列,调整列名(比如修正原数据拼写错误的svmbol为Symbol)、调整列顺序即可得到目标表

快速实现代码(可选)

如果希望直接通过代码实现,打开「高级编辑器」,把以下代码中的源替换为你自己的上一步查询步骤名称即可:

let
    源 = 替换为你自己的源表步骤,
    新增索引 = Table.AddIndexColumn(源, "索引", 1, 1, Int64.Type),
    生成分组标记 = Table.AddColumn(新增索引, "分组ID", each if [Name] = "name" then [索引] else null, type number),
    向下填充分组ID = Table.FillDown(生成分组标记,{"分组ID"}),
    透视属性列 = Table.Pivot(向下填充分组ID, List.Distinct(向下填充分组ID[Name]), "Name", "Value"),
    清理临时列 = Table.RemoveColumns(透视属性列,{"索引", "分组ID"})
in
    清理临时列

该方案兼容每个度量项属性数量3-5个浮动的场景,只要每个度量项都以name属性作为首行即可正常运行。

内容的提问来源于stack exchange,提问作者Incans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 23:45:05