首页 > 办公 > WPS > 正文

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

2019-12-13 15:23:24
字体:
来源:转载
供稿:网友

  制作工资单、工资条的方式有很多种,最常用的一种,当然是“邮件合并”。不过邮件合并操作步骤非常多,比较繁琐,并不是很容易就能学会。如果只是想制作一个简单的工资条,而不是格式规整的工资单,那么完全可以在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;然后将格式设置为四周边框线,确定。

条件格式对话框

  现在来填充整个工作表。

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

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

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表