如何使用WPS表格批量制作工资条

01-14

制作工资单、工资条的方式有很多种,最常用的一种,当然是“邮件合并”。不过邮件合并操作步骤非常多,比较繁琐,并不是很容易就能学会。如果只是想制作一个简单的工资条,而不是格式规整的工资单,那么完全可以在WPS表格中完成——所需要做的只是拷贝公式,填充到足够的行数即可。

当然,首先得有一张全体员工的工资表:

如何使用WPS表格批量制作工资条

想看看完成的工资条是什么样子么?来看看打印预览:

如何使用WPS表格批量制作工资条

工资表很简单,就是一张普通的表格。工资单工作表也很简单,因为所有单元格都是用的同一个公式。

工资表是Sheet1,为了打印方便,我们在Sheet2中制作工资条。那么来看看Sheet2!A1的公式是什么样子:

=IF(MOD(ROW(),3)=1,Sheet1!A$1,IF(MOD(ROW(),3)=2,OFFSET(Sheet1!A$1,INT(ROW()/3)+1,0),""))

哦,是的,它有点长,所以,不妨分解一下:

=IF(
MOD(ROW(),3)=1,
Sheet1!A$1,
IF(
MOD(ROW(),3)=2,
OFFSET(Sheet1!A$1,INT(ROW()/3)+1,0),
""
)
)

01行,第1个IF语句,其条件在02行;
02行,判断当前行是否是工资条表头应该所在的行,即第1、4、7、10……行;
03行,当02行的条件为TRUE时,值为Sheet1!A$1,即表头;
04行,当02行条件为FALSE时,进入第二个IF语句
05行,判断当前行是否是工资条数值应该所在的行,即第2、5、8、11……行;
06行,根据对Sheet1第1行计算偏移来引用工资表数据;
07行,即不是表头也不是数值,那就是用于间隔的空行啦!

这个公式中两次用到MOD(ROW(),3),一次用到INT(ROW()/3)。那么当前行号和3有什么样的关系呢?注意到,每个工资条的构成,是一行表头,一行数据,一行空白,正好3行。如果你觉得1行空白打印出来不方便裁切,想留2行空白,那这三个公式里的3都应该改为4。

现在是调整格式的时候。首先我们不希望空白行上有表格线,所以,打印的时候不能选打印网络线;但是我们希望工资条的表头和数据有线条来分隔,所以需要为这两行数据加上表格线——当然,可以填充完整个工作表之后再一个个工资条去设置,只是这样太麻烦——所以我们使用“条件格式”功能。

还是选中A1,打开条件格式对话框,选择条件为公式:=MOD(ROW(),3)<>0;然后将格式设置为四周边框线,确定。

如何使用WPS表格批量制作工资条

现在来填充整个工作表。

选中A1,向右拖动右下角长得像“+”号的填充柄,直至所有工资项(这一行是表头)都已填充出来。

这时候,第1行所有表头项是选中的。现在该向下拖动填充柄,直到所有人的工资条都有为止。这个根据工资表中的人数就可以计算,这里填充的行数就是人数的3倍(记得上面专门提到的3吗?如果你改成了4,那就是4倍)。

如何使用WPS表格批量制作工资条

数据是正确的,格式还需要调整。选中C:H几列,将单元格格式设置为数值型,2位小数,右对齐。当然,还要在视图选项中去掉“显示网格线”。