时间:2012-06-29 11:48:04 作者:ぺ倒計べ_時 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20120629/11937.html 手机查看 评论 反馈
制作工资条、成绩单是周期性的重复劳动,单调乏味。又是必不可少的工作事项,真是够纠结了。试过很多种方法都是效率低又没什么实用性,今日系统之家小编针对白领这个问题提出了一个好办法:活用WPS表格的智能填充加巧妙算法,教你只用一次粘贴、一个公式、一次拖曳,搞定如图 1样式的条式单据。
完成图
言归正传,先操作,后解说。
1. 设定:
A表=原始工资表
B表=生成工资条的空白表
2. 操作步骤:
2.1. 粘贴A表表头到B表A1单元;
2.2. 选择与B表表头同宽度的下一行区域,键入以下公式后,按Ctrl+Enter填充所选区域① 并顺便设置框线。
=Indirect("A表!"&Address((Row()+1)/3+1,Column())) ②
注意:若表头占两行,改公式中“3+1” 为“4+2”;若表头占三行,为“5+3“,依此类推③。
2.3. 选中B表表头,向下拉至数据所能呈现的行数,如公式计算所得,拉到行6。④(与表头同宽度),移动指针到所选区域右下角填充柄上(指针呈“十”),拖拽填充柄向下,直到能呈现所有数据。截止行号=(表头占用行数+1)×记录条数。
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工具集插件中的“生成工资条成绩条
”解决方案,仅需一次单击,完成所有任务(建表、记录填充、设置框线、智能分页、打印)
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场