工资条使用技巧做比较简单,但是每个月都要操作一遍也是比较麻烦,使用VBA写,以后可以一键执行,但是很多同学又不会,也就是学习成本太高,那么有没有学习成本低又一键刷新的方法呢?有!
▼新增内容,一键刷新
数据源:工资表数据一份
我们要使用到的工具就是Excel中的Power Query,关注我的老粉应该不陌生了,我们前面也分享过不少的基础教程,今天属于实战篇!
点击数据源的任意位置,然后依次点击【数据】-【从所选内容】,出来弹窗点击确定即可!
这里考虑新手我们可以使用自带的操作来分组一下数据,然后还要配合一些函数来处理!
依次点击【转换】-【分组依据】。根据【姓名】分组操作,操作部分,选择【所有行】
操作完的结果,每行都是一个table,也就是每个人的数据都形成了一个表格,我们做三步即可完成工资条:
具体的内容,我们还是要手动来修改了,界面操作已经无法完成上面的需求,我们需要用到几个函数!
①:主要用到的是手动构建表格 #table关键字,第一参数是标题名称,我们使用原来表的标题即可,也就是Table.ColumnNames(_)②:根据我们之前分析,我们需要将标题降下来作为内容,所以Table.DemoteHeaders(_),就是把标题降为内容的函数。同时把表格使用 Table.ToRows 把表格全部转成List,为下一步做准备!③:在①中我们说明构建表格的第一参数是标题,现在来说第二参数,是由多行做成的List,步骤②中我们已经准备好了,再追加一行空白即可,空白行,我们使用手动构建的方式,一行数据本质就是一个List,null表示空白!List.Repeat 重复的意思,具体需要多少个空,根据多列来的,所以我们要获取到列数,根据标题即可获得!// 功能:工资条
// 作者:Excel办公实战-E精精
let
源 = Excel.CurrentWorkbook(){[Name='表1']}[Content],
分组的行 = Table.Group(源, {'姓名'},
{
{'计数', each
#table(Table.ColumnNames(_),
Table.ToRows(Table.DemoteHeaders(_)) &
{List.Repeat({null},List.Count(Table.ColumnNames(_)))}
)
}
}
)
in
Table.Combine(分组的行[ 计数])
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。