power query 生成工资条

数据源表来自于excel vba 其实很简单这本书的1.1.2的示例:

power query 生成工资条_第1张图片

M公式如下,基本解释很详细了,备注里面都写了:

 

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

    data=Table.ToRows(源),    //工资数据的列表

    header=Table.ColumnNames(源),    //取得标题的列表
    col=List.Count(header),    //标题的列数,用于后面扩展null的列数

    res=List.TransformMany({header},each data,(x,y)=>#table(x,{x,y,List.Repeat({null},col)})),

    //遍历每行数据结合header,生成分表。x代表标题,y代表data的每个元素.最后List.Repeat({null},col)填充一个空行.
    
    res1=Table.Skip(Table.Combine(res),1)    //第一行由于多了一个标题,跳过一行
in
    res1

结果如下:

power query 生成工资条_第2张图片

最后一行也加了一空行,不影响。不想的话最后用Table.RemoveLastN函数移除掉就行了。这里就不再写了。 

你可能感兴趣的:(Power,Query)