打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
再做工资条,不管多少数据,我只需要1秒!

工资条使用技巧做比较简单,但是每个月都要操作一遍也是比较麻烦,使用VBA写,以后可以一键执行,但是很多同学又不会,也就是学习成本太高,那么有没有学习成本低又一键刷新的方法呢?有!

▼新增内容,一键刷新

数据源:工资表数据一份

我们要使用到的工具就是Excel中的Power Query,关注我的老粉应该不陌生了,我们前面也分享过不少的基础教程,今天属于实战篇!

S01 |  加载数据到PQ编辑器

点击数据源的任意位置,然后依次点击【数据】-【从所选内容】,出来弹窗点击确定即可!

S02 | 分组制作工资条

这里考虑新手我们可以使用自带的操作来分组一下数据,然后还要配合一些函数来处理!

依次点击【转换】-【分组依据】。根据【姓名】分组操作,操作部分,选择【所有行】

操作完的结果,每行都是一个table,也就是每个人的数据都形成了一个表格,我们做三步即可完成工资条:

  1. 需要将表格的默认插入一行空白
  2. 把标题降下来,作为内容
  3. 把所有操作后的表格再合并起来即可!


具体的内容,我们还是要手动来修改了,界面操作已经无法完成上面的需求,我们需要用到几个函数!


具体M函数如下:


细节讲解不想看细节的同学直接跳过】:
①:主要用到的是手动构建表格 #table关键字,第一参数是标题名称,我们使用原来表的标题即可,也就是Table.ColumnNames(_)

②:根据我们之前分析,我们需要将标题降下来作为内容,所以
Table.DemoteHeaders(_),就是把标题降为内容的函数。同时把表格使用 Table.ToRows 把表格全部转成List,为下一步做准备!

③:在①中我们说明构建表格的第一参数是标题,现在来说第二参数,是由多行做成的List,步骤②中我们已经准备好了,再追加一行空白即可,空白行,我们使用手动构建的方式,一行数据本质就是一个List,null表示空白!
List.Repeat 重复的意思,具体需要多少个空,根据多列来的,所以我们要获取到列数,根据标题即可获得!

最后我们把表格合并一下即可得到结果


完整的PQ函数代码如下
// 功能:工资条
// 功能:工资条
// 作者: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(分组的行[ 计数])
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何用excel制作工资条?
批量合并具有合并单元格标题的文件夹
Power Query批量合并Excel,数据不是从第一行开始怎么办?
【Excel教程】教你做表格大全(gif 动画教学)
Power Query函数入门
工资表怎么一键生成工资条
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服