多语言展示
当前在线:286今日阅读:26今日分享:39

用EXCEL做工资表时,如何批量生成工资条?

人力资源部门在用EXCEL做工资时往往会遇到同一个问题,做好的工资表如何能变成工资条呢?因为根据法律要求,除了单位保管的工资单外,每位员工都有权知道自己的工资发放情况,发放工资条是必须执行的。下面我们就来介绍EXCEL中如何通过函数公式来实现这一功能。0EXCEL中如何快速提取标记下月生日的员工姓名?
工具/原料

EXCEL

一、方法
1

下面是一个工资表,要求生成工资条,每个工资条必须包函一行标题和一行数据,每组数据之间隔一空行。

2

该工资表存在工作表sheet1中,我们要做的工资条准备存放在sheet3中,选中sheet3的A1:O1单元格区域,输入下列数组公式:=CHOOSE(MOD(ROW(1:1),3)+1,'',sheet1!$A$1:$O$1,OFFSET(sheet1!$A$1:$O$1,INT(ROW(1:1)/3)+1,))

3

选中输入公式的单元格,鼠标变成填充柄时,向右、向下拉,即得到下图所示的工资条。

二、函数解释
1

row( )函数返回的是一个引用的行号,括号内为单元格或单元格区域。上例中row(1:1),返回的值为1。

2

MOD(number,divisor),是一个求余数函数,Number为被除数,Divisor为除数,MOD(ROW(1:1),3返回的值为1。

3

INT(number)为向下取最接近的整数,INT(ROW(1:1)/3)返回的值为0。

4

OFFSET(reference,rows,cols,height,width),Reference 必须为单元格或单元格区域,是偏移量的参照标的;rows为相对于Reference所在单元格的行偏移量,正数向下,负数向上;cols为相对于Reference所在单元格的列偏移量,正数向右,负数向左;height/width分别为新引用几行/几列,有时也可以省略。OFFSET(sheet1!$A$1:$O$1,INT(ROW(1:1)/3)+1,)返回的值为1。

5

CHOOSE(Index,value1,value2,...) 函数,index 必要参数,可以为数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间;Index 为 1, 返回 value1;如果为 2,返回 value2,以此类推。上例中当公式分别填充到A1\A2\A3时,返回的结果如下:

注意事项

希望对大家有用,如果有用的话可以收藏和分享噢!动动手指就可以了!

推荐信息