利用WPS表格制作工资条成绩条

2012-06-28sou6 的分享

  制作工资条、成绩单是周期性的重复劳动,单调乏味。对此,本文活用WPS表格的智能填充加巧妙算法,教你只用一次粘贴、一个公式、一次拖曳,搞定如图 1样式的条式单据。

利用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工具集插件中的“生成工资条成绩条

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

表格制作

TA发布的帖子

604

收藏

613