不知我理解是否正确,有点麻烦,大索引确保最后顺序不乱,小索引取数用,主要是求和这一步,其他手动操作即可。
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
大索引 = Table.AddIndexColumn(源, "大索引", 0, 1, Int64.Type),
小索引 = Table.Group(大索引,{"存货编码","单位名称"},{"a",(x)=>Table.AddIndexColumn(x, "小索引", 0, 1)}),
求和 = Table.TransformColumns(小索引,{"a",(x)=>Table.AddColumn(x,"条件求和",(y)=>List.Sum(List.Range(x[数量],0,y[小索引])))}),
展开 = Table.ExpandTableColumn(求和, "a", {"发货单子表标识", "数量", "大索引", "条件求和"}, {"发货单子表标识", "数量", "大索引", "条件求和"}),
排序的行 = Table.Sort(展开,{{"大索引", Order.Ascending}}),
删除的列 = Table.RemoveColumns(排序的行,{"大索引"}),
重排序的列 = Table.ReorderColumns(删除的列,{"存货编码", "发货单子表标识", "单位名称", "数量", "条件求和"})
in
重排序的列 |