wps自动生成工资表 | WPS表格中批量制作工资条

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

第一种方法:查找替换法 首先,用WPS表格打开源数据文档,如图1,复制所有数据。

关闭WPS表格(一定要关闭,不然粘贴到WPS文字时会有表格),打开WPS文字,按“Ctrl+V”将从源文档中复制来的数据粘贴到新建的空白文档中。此时,这些数据呈用制表符和回车符分隔的文本状态(图2)。

接下来,制作第1行表头的内容到剪贴板中,然后按下快捷键“Ctrl+H”,调出“查找和替换”对话框,在“查找内容”中输入“^p”,并把刚刚复制的表头粘贴到“替换为”中文本框中,并在其前面连续输入两个“^p”,后面再输入一个“^p”,并注意选中“使用通配符”(如图3)。 按一下“全部替换”按钮,关闭“查找和替换”对话框,此时,你将发现除了文档开头和页眉页脚多出一行表头和一些回车符外,所有的数据行上方都有一行表头,并且下方有一个空行。

删除多余的表头行,全选文档,从“表格”菜单中选择“转换→文本转换成表格”,确定后即可将所有数据转换成一个表格。美中不足的是,空的表格行中也有纵向的线条,显得不够美观。

这一点,我们可以用将所有纵向表格线全部设置为“无边框”模式,即只显示横向表格线的方法来解决,最后打印的效果如图4所示。 第二种方法:用Next域法 首先声明,下面两种方法都要用邮件合并功能,需要先将WPS Office 2007升级到最新版,并且安装VBA环境。

用WPS文字新建一个文档,从“视图→工具栏”中调出“邮件合并”工具条(也可用鼠标右击工具条空白处,选择“邮件合并”)。然后点一下工具条最左边的“打开数据源”按钮,找到并打开存有源数据的WPS表格文档。

然后按照源数据的表头样式,制作一个2行7列的表格,在表格的第1行输入表头的内容,在第二行各单元格中依次按“插入合并域”按钮(左边第3个按钮),插入相应的“合并域”项目,再将光标定位在表格下面一行,用鼠标左键点击“插入合并域”右侧的下拉菜单,选择“插入Next域”,得到如图5所示内容。 此时,再点一下“查看合并数据”按钮(左数第5个),使插入的域显示为数据内容。

然后选中表格和插入了“Next域”的一行,回车后反复粘贴,直到表格排满一页为止,并删除最后一个“NETX 域”。此时虽然显示的全部是第一个人(张三)的工资条,但实际上却并非如此,用鼠标左键按两下“查看合并数据”按钮,你会发现,工资条中的数据已不再重复(图6)。

最后,再点一下“合并到新文档”按钮,OK,大功告成! 第三种方法:删除分节符法 第二种方法之所以要用Next域,主要是为了防止合并到新文档后每一页只有一个记录的问题。我们反其道而行之,还可以先生成每页只有一个记录的工资条文档,然后再删除分节符,把工资条“召集”到一起。

首先,与第二种方法一样,先制作一个2行7列的表格,并填充好表头和合并域。然后在表格下面再敲一下回车键,使其有两个换行符号。

直接按“合并到新文档”按钮,生成工资条文档。我们发现生成的新文档,每页只有一个工资条,而工资条下面有一个“分节符(下一页)”(图7)。

所以会每页只有一个工资条,就是这个“分节符(下一页)”在捣乱了。怎么办?对,按“Ctrl+H”调出“查找和替换”面板,在“查找内容”中输入“^b”,“替换为”中不输入任何内容(如果有内容,则全部删除),并勾选“使用通配符”(图8),点“全部替换”并关闭。

再看文档,工资条不再闹分裂,一条挨着一条,整齐地排列好了。

2.利用WPS表格如何制作工资条

图 1 完成图

言归正传,先操作,后解说。

1. 设定:

A表=原始工资表(见图 2)

B表=生成工资条的空白表

图 2 原始工资表

2. 操作步骤:

2.1. 粘贴A表表头到B表A1单元;

2.2. 选择与B表表头同宽度的下一行区域,键入以下公式后,按Ctrl+Enter填充所选区域① 并顺便设置框线。见图 3;

=Indirect("A表!"&Address((Row()+1)/3+1,Column())) ②

注意:若表头占两行,改公式中“3+1” 为“4+2”;若表头占三行,为“5+3“,依此类推③。

图 3 复制表头及录入公式

2.3. 选中B表表头,向下拉至数据所能呈现的行数,如公式计算所得,拉到行6。④(与表头同宽度),移动指针到所选区域右下角填充柄上(指针呈“十”),拖拽填充柄向下(见图 4),直到能呈现所有数据。截止行号=(表头占用行数+1)*记录条数。

图 4 分组填充

3. 技巧与算法:

① 组合键Ctrl+Enter—— 能在相邻或不相邻的多个选定区域填充数据;

② 公式涉及4个函数,此例中:

Indirect(单元格引用文本)函数—— 得到以文本表示的目标单元格值。可能的文本形如:"A表!$A$3"、"A表!$B$3"等;

Address(行号,列号)函数——得到数值代表的行列交叉单元的地址文本。结果貌似:"$A$3","B3";

Row( )函数——返回该单元的行号;

Column( )函数——返回该单元的列号;

③ 算法思路:目的是将A表记录行{2,3,4,5,。}映射到B表记录行{2,5,8,11,。.}。后者关联到索引(i)和表头行数(n),可表述为:B表第i行记录 = (i+n+1)/(n+2)+n,而Row( ) 等效于i+n。

④ 预留裁切区域,其空白行数,决定公式"(Row()+x)/y+1" 中x,y的取值;

若仍嫌繁复,可以到金山官方论坛(链接见下方),使用AutoIt工具集插件中的“生成工资条成绩条

”解决方案,仅需一次单击,完成所有任务(建表、记录填充、设置框线、智能分页、打印)

wps如何自动生成工资表

相关内容