分组后自动排序问题

Power Query choicechoi ⋅ 于 2022-08-26 21:32:36 ⋅ 最后回复由 cnbubble 2024-02-15 15:33:46 ⋅ 1397 阅读

求助,怎么把左边的表格,自动变成右边的结果?

组别 姓名 结果 组别 姓名 序号
1 关羽 1 关羽 1
1 张飞 1 张飞 2
2 张辽 1 赵云 3
3 太史慈 2 张辽 1
4 吕布 2 夏侯惇 2
2 夏侯惇 2 李典 3
2 李典 3 太史慈 1
3 黄盖 3 黄盖 2
3 周瑜 3 周瑜 3
1 赵云 4 吕布 4
file

成为第一个点赞的人吧 :bowtie:
回复数量: 3
  • choicechoi 想成为一名数据分析师,可只懂皮毛
    2022-08-27 11:21:16

    已有答案~

  • cnbubble Excel、VBA、Power Query等
    2024-02-15 09:41:22

    虽然作者已经解决问题,也想试一下:

    已经习惯Excel公式写法,最初尝试引用上一行数据的方式,弄起来还挺费劲,后来还是通过分组变成表格数据、对每行表格添加序号,最后展开表格的方式解决:

    let
        源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
        更改的类型 = Table.TransformColumnTypes(源,{{"组别", Int64.Type}, {"姓名", type text}}),
        排序的行 = Table.Sort(更改的类型,{{"组别", Order.Ascending}, {"姓名", Order.Ascending}}),
        分组的行 = Table.Group(排序的行, {"组别"}, {{"计数", each _, type table }}),  
        转换 = Table.TransformColumns(分组的行, {"计数", (表)=> Table.AddIndexColumn(表, "索引", 1, 1, Int64.Type)}),
        #"展开的“计数”" = Table.ExpandTableColumn(转换, "计数", {"姓名", "索引"}, {"姓名", "序号"})
    
    in
        #"展开的“计数”"

    file

    file

    file

  • cnbubble Excel、VBA、Power Query等
    2024-02-15 15:33:46

    看到已有问题里面有类似的提问和回答,参考https://pbihub.cn/qa/1320

    他们的函数嵌套更简单,但思路是一样的,通过分组、添加序号实现

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter