多列排名(Power Query)
数据源:
//多列美式排名
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
拆分列 = Table.ToColumns(源),
列分组 = List.Split(拆分列, 3),
列合并 = List.Transform(列分组, each Table.FromColumns(_)),
合并表 = Table.Combine(列合并),
改标题 = Table.RenameColumns(合并表,{{"Column1", "班级"}, {"Column2", "姓名"}, {"Column3", "成绩"}}),
成绩排名 = Table.AddRankColumn(改标题, "排名", {"成绩", 1})
in
成绩排名
//多列中式排名
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
拆分列 = Table.ToColumns(源),
列分组 = List.Split(拆分列, 3),
列合并 = List.Transform(列分组, each Table.FromColumns(_)),
合并表 = Table.Combine(列合并),
改标题 = Table.RenameColumns(合并表,{{"Column1", "班级"}, {"Column2", "姓名"}, {"Column3", "成绩"}}),
分组 = Table.Group(改标题, "成绩", {"内容", each _}),
排名 = Table.AddIndexColumn(Table.Sort(分组,{"成绩", 1}), "排名", 1),
展开 = Table.ExpandTableColumn(排名, "内容", {"班级", "姓名"}),
整理 = Table.ReorderColumns(展开,{"班级", "姓名", "成绩", "排名"})
in
整理