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

Power Query表格转置:列项数量不同时转置及两列值升序排列方法

表格转置相关问题解答

问题1:各列项目数量不同且内容无关时能否转置?

可以转置,但转置后会自动用空值填充长度不一致的部分。例如原表格列A有5行、列B有3行,转置后行A对应5个单元格,行B对应3个单元格加2个空值,所有行的长度会统一为原表格最长列的行数。

问题2:两列表格转置,将一列作为新列名,另一列值升序排列(空值置底)

问题背景

使用Power Query的Pivot选「Don't aggregate」时报错,选Count仅能统计数量;用Transpose加合并拆分操作导致数据重复,希望通过Power Query实现可一键刷新的解决方案。

实现步骤

  1. 添加索引列:在Power Query编辑器中,选中数据后点击「添加列」→「索引列」→「从0开始」。
  2. 分组打包数据:选中要作为新列名的列(例:「类别列」),点击「转换」→「分组依据」,设置:
    • 新列名:分组数据
    • 操作:所有行
      完成后同一类别的所有值会被打包成嵌套表格。
  3. 排序嵌套表格:添加自定义列,用M代码对嵌套表格的值列升序排序(空值自动排在底部):
    Table.Sort([分组数据],{{"值列", Order.Ascending}})
    
    替换值列为你的实际值列名称,随后删除原「分组数据」列,将自定义列重命名为分组数据。
  4. 添加组内索引:展开「分组数据」列(仅保留值列),再次按「类别列」分组,在分组操作中添加组内索引:
    Table.AddIndexColumn([分组数据], "组内索引", 0, 1)
    
    展开后将得到每个类别下带索引的行。
  5. 透视生成目标表格:选中「组内索引」列,点击「转换」→「透视列」,值列选择实际值列,聚合函数选「Don't aggregate」,即可得到目标格式的表格——类别作为列名,值按升序排列、空值置于底部。

已有前置清洗步骤时的代码插入技巧

  • 打开Power Query编辑器的「高级编辑器」,找到前置清洗后的最后一步,插入分组、排序相关的M代码;
  • 或先通过「分组依据」工具生成基础分组代码,再手动修改添加排序和组内索引逻辑,确保与前置步骤衔接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:14:51