乐于分享
好东西不私藏

Excel 一键社保工资数据标准格式处理

Excel 一键社保工资数据标准格式处理

一、适用场景

人事每月导出工资社保汇总表,表格横向铺满工资、养老、失业、个税、实发工资等多列,需要快速转换成统一标准格式,匹配系统编码、自动填充公司、期间等固定字段,不用手动复制粘贴,Power Query 一键完成。

二、操作分步

第一步:快捷键快速创建超级表

  1. 选中你的工资数据源全部单元格

  2. 按下快捷键 Ctrl + T

  3. 弹出「创建表」弹窗: 

  1)单元格范围会自动识别,无需手动修改

  2)一定要勾选【表包含标题】,点击确定

作用:把普通区域转为超级表,后续刷新数据不会丢失格式

第二步:打开高级编辑器粘贴转换脚本

  1. 顶部菜单栏找到【主页】

  2. 点击【高级编辑器】,清空原有代码

  3. 复制下方完整脚本粘贴进去,点击完成,关闭并上载

  4. 脚本中涉及的表名称,查询方式,表设计--表名称

let

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

    移除总计行 = Table.SelectRows(源, each [行标签] <> "总计"),

    逆透视 = Table.UnpivotOtherColumns(移除总计行, {"行标签"}, "元素组", "金额"),

    映射表 = #table(

        type table[元素组=text, 分组元素ID=text],

        {

            {"工资", "HLS01"},

            {"个人养老", "HLS10"},

            {"个人失业", "HLS12"},

            {"公司养老", "HLS14"},

            {"公司失业", "HLS15"},

            {"公司生育", "HLS17"},

            {"个税", "HLS07"},

            {"实发工资", "HLS20"},

            {"实发工资和个税", "HLS25"},

            {"实发工资+个税", "HLS25"},

            {"服务费", "HLS19"},

            {"个人公积金", "HLS09"},

            {"个人医疗", "HLS11"},

            {"公司医疗", "HLS13"},

            {"公司工伤", "HLS16"},

            {"公司公积金", "HLS18"}

        }

    ),

    匹配编码 = Table.NestedJoin(逆透视, {"元素组"}, 映射表, {"元素组"}, "映射结果", JoinKind.LeftOuter),

    展开编码 = Table.ExpandTableColumn(匹配编码, "映射结果", {"分组元素ID"}, {"分组元素ID"}),

    添加公司 = Table.AddColumn(展开编码, "公司", each "142"),

    添加期间ID = Table.AddColumn(添加公司, "期间ID", each "202607"),

    添加运行类型 = Table.AddColumn(添加期间ID, "运行类型名称", each "HLS_RT_NOR"),

    添加缴纳公司 = Table.AddColumn(添加运行类型, "社保公积金缴纳公司", each "142"),

    添加代理公司 = Table.AddColumn(添加缴纳公司, "社保公积金代理公司", each ""),

    重命名成本中心 = Table.RenameColumns(添加代理公司, {{"行标签", "成本中心ID"}}),

    最终列顺序 = Table.ReorderColumns(重命名成本中心, {

        "公司", "期间ID", "运行类型名称", "成本中心ID", "分组元素ID",

        "社保公积金缴纳公司", "社保公积金代理公司", "金额", "元素组"

    })

in

最终列顺序

复制脚本操作截图

表名称查询方式截图

三、脚本自动实现的功能

  1. 表格转一维明细:横向多列工资社保项目,自动转为一行一项标准明细格式

  2. 自动匹配系统编码:内置工资、社保、个税对应编码表,自动绑定分组元素ID

  3. 批量填充固定字段:一次性生成公司、期间、缴纳单位、运行类型等固定信息

  4. 规范表头与列顺序:自动把「行标签」改名成本中心 ID,按系统要求排序所有字段

四、按需修改小技巧修改表格名称

脚本第一行 [Name="表3"],如果你的超级表名字不是表 3,改成对应表名即可

  1. 修改公司 / 单位编号

     "142"两处代表缴纳公司编码,替换成你们企业编号

  2. 修改核算月份

    "202607"是期间 ID,每月更新对应年月即可

  3. 新增项目编码

    在映射表大括号里新增一行 {"项目名称","对应编码"},即可自动匹配       

五、使用优势

  1. 不用 VBA,Office/WPS 新版自带 Power Query,免费无插件

  2. 每月更新工资表,只需刷新数据,不用重复写代码

  3. 输出字段完全匹配财务系统导入模板,直接复制上传

  4. 自动去重、清理总计行,减少人工核对错误

六、小贴士

如果运行后部分项目编码为空,检查表格里项目文字是否和映射表里名称完全一致(空格、符号差异会匹配失败),微调文字即可完美适配。