在工资表技术中,需要解决两个核心的操作问题: 1。如何按照指定的月份,自动生成应发工资员工名单的问题。 2。如何在员工存在异动(调岗、调薪、转正、参保)的情况下,按照指定月份,准确取得员工当期最新数据(当期调整的部门、薪酬、职级等)的问题。 解决这两个问题,是高效制作工资表的核心问题,我在工资表技术中给出了一个解决方案,希望抛砖引玉,对广大读者有所启发和帮助。在这篇文章中我们先来谈一下第一个问题:如何利用公司的员工信息表,自动获取指定月份的应发工资名单: 我在上一篇文章中(详见本刊2017年7月刊第34至36页)提到过,如果用EXCEL处理员工信息数据,应该有三个表,即员工个人信息表、员工企业信息表、员工异动信息表。对于制作工资表而言,我们重点利用的是后两个表的内容。我们先来看一下这两个表在使用过程中的注意事项。 员工企业信息表的设计与维护 设计员工企业信息表时,应包含以下内容(如下图所示): 1。工号、姓名(离职员工的工号原则上不再重复使用)。 2。部门信息:此处可以展开多列,包含分公司、一级部门、二级部门等信息。 3。职级信息:包含了员工的岗位名称、职位、职位类别、级别等信息。 4。固定薪酬信息:包括了基本工资、岗位工资等非弹性薪酬信息。 5。保险信息:五险一金个人应缴纳部分。 6。特殊补贴信息:企业给予特定员工或岗位的其他固定补贴。 维护注意事项: 1。新增员工直接在末行录入即可(之后可以按部门信息为关键词排序)。 2。部门信息、职级信息、保险和特殊补贴信息可以依据企业具体情况自行设定展开。 3。固定薪酬信息主要指的是基本工资、岗位工资、固定补贴等一些非考核性固定薪酬项目,这些项目一般只与员工考勤状况相关。 4。一定要详细记录入职时间和离职时间信息,录入的时间格式必须正确。 员工企业信息表的计算准备 将表格设计好后,增加辅助列(辅助列就是为了下一步计算而增加的,不属于源数据内容的列),增加后的效果如下图所示: 其中H列至L列为判断计算辅助列,B列为选择计算辅助列,具体解释如下: 1。表格中C2与E2存放的是指定月份的开始和结束时间,示例中指定的是2017年7月份这个特定的时间 2。H列已离职判断:该列的作用是判断出在本期之前就离职的员工。 计算逻辑:离职时间不为空,同时离职时间在指定月份1号之前。 计算公式:H6IF(AND(G6,G6C2),1,0),向下复制即可。 计算结果:为1表示期初之前已离职。 3。I列当期离职判断:该列的作用是判断出在本期之内离职的员工。这个辅助列单独存在有利于以后快速地取得当期离职人员名单。 计算逻辑:离职时间不为空,同时离职时间在指定月份1号之后,月末之前。 计算公式:I6AND(G6C2,G6E2),向下复制即可。 计算结果:为1表示当期离职。 4。J列当期入职判断:该列的作用是判断出在指定月份内入职的员工。这个辅助列单独存在有利于以后快速地取得当期入职人员名单。 计算逻辑:入职时间在指定月份1号之后,月末之前。 计算公式:J6AND(F6C2,F6E2),向下复制即可。 计算结果:为1表示在指定月份当期在职。 5。K列在职判断:该列的作用是判断出在指定月份1号之前正常在职的员工(在指定月份1日之前入职并且不存在任何离职行为)。 计算逻辑:离职、当期离职、档期入职判断同时为0。 计算公式:K6AND(H60,I60,J60),向下复制即可。 计算结果:为1表示正常在职。 6。L列工资表人员判断:该列的作用是判断出在指定月份内应发工资的员工。 计算逻辑:正常在职、当月入职、当月离职的人都应该计算工资。 计算公式:L6OR(K61,J61,I61),向下复制即可。 计算结果:为1表示属于当期应发工资员工。 7。B列:该列的作用是取得应发工资员工名单的序号与数量,为下一步使用VLOOKUP生成指定月份应发工资人员清单提供ID。 计算逻辑:利用混合引用技巧,动态统计到目前为止我是第几个满足条件的人。 计算公式:B6COUNTIF(L6:L6,1),向下复制即可。 B4MAX(B6:B10) 计算结果:B4结果为应发工资总人数,B6结果为满足条件的序号,不满足条件的员工序号,就会出现重复值(该重复值将被下一步使用VLOOKUP函数查找引用时忽略)。 生成指定月份的应发工资员工名单 如上图所示,左边就是刚才我们处理的员工企业信息表(此处我们隐藏了H至L列的辅助列)。我们重点来看一下右边(N至U列)的区域,重点讲解如下: 1。N4单元格。其目的是将符合条件人员总数引用过来,便于生成新表的序号。 计算公式:N4B4 2。N7单元格。其目的是根据总人数,自动生成人员序号,比如:本期满足发工资的人员一共20人,则序号自动从1开始,到20结束。后面的均为控制。N6永远为1,所以不做公式,从N7开始做公式,并向下复制(应根据企业人数多预留一些位置)。 计算公式:N7IF(N6N4,,N61),向下复制即可。 3。O6与P6单元格。其目的是使用VLOOKUP函数,查找和引用员工序号为1的员工的工号和姓名,公式向下复制后,逐一找出序号2、3直至最后一个符合条件员工的工号与姓名(O6是工号,P6是姓名)。 计算公式:O6IFERROR(VLOOKUP(N6,B6:D999,2,0),),向下复制即可。 P6IFERROR(VLOOKUP(N6,B6:D999,3,0),),向下复制即可。 4。取值区域。根据已经取得的工号,把员工的基础数据引用过来,比如部门、基本工资等等信息。 在维护员工企业信息表的时候,绝大多数HR录入的都是员工刚进入公司时的数据,它是一个静態的数据记录,但随着时间的推移,员工就会出现类似转正、调岗、调薪这样的正常变化,所以在计算工资的时候,很难甚至不可能从原始记录(员工企业信息表)中取得当下员工的相关数据,我们就需要将员工异动表一起考虑进来,综合地取值。所以在上图中,取值区域在指定的月份内,要先行扫描异动信息后才能最终取到正确的值,这个技术我们在下一篇文章中再详细阐述。责编寇斌