Excel工资条
来源:互联网 发布:mac远程客户端下载 编辑:程序博客网 时间:2024/04/19 11:12
容摘要:使用Excel按人头制作工资条,网上有两个解决方案,一个是利用Word的“邮件合并”功能,另一个是利用VBA来实现。
使用Excel按人头制作工资条,网上有两个解决方案,一个是利用Word的“邮件合并”功能,另一个是利用VBA来实现。
用“邮件合并” 功能操作虽说不难,但数据过多时也很麻烦;用VBA处理起来倒是很方便,但几十行的程序也够初学者忙活的。经过一番试验,笔者找出了一个比较简单的方法,只需一个公式就可以按人头打印出工资条来。
新建一Excel文件,在sheet1中存放工资表的原始数据,假设有N列。第一行是工资项目,从第二行开始是每个人的工资。
用“邮件合并” 功能操作虽说不难,但数据过多时也很麻烦;用VBA处理起来倒是很方便,但几十行的程序也够初学者忙活的。经过一番试验,笔者找出了一个比较简单的方法,只需一个公式就可以按人头打印出工资条来。
新建一Excel文件,在sheet1中存放工资表的原始数据,假设有N列。第一行是工资项目,从第二行开始是每个人的工资。
在sheet2中我们来设置工资条。根据实际情况,工资条由三行构成,一行对应工资项目,一行对应一个人的工资数据,然后是一个空行用来方便切割。这样三行构成一个工资条。工资项目处在行号除以3余数为1的行上;空行处在行号能整除3的行上。以上两行不难设置,关键是工资数据行,牵扯到sheet1与 sheet2中数据的对应,经分析不难看出“sheet1中的数据行=INT((sheet2中的数据行+4)/3)”。
这样我们在sheet2的A1单元格中输入公式“=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))”。确认后选择A1单元格,把鼠标放在A1单元格的右下角,鼠标变成“+”时,向右拖动鼠标自动填充至N列,这样工资条中的第一行就出来了。选定A1:N1,把鼠标放在N1单元格的右下角,鼠标再次变成“+”时,向下拖动鼠标自动填充到数据的最后一行,工资条就全部制作完成了。
该公式运用IF函数,对MOD函数所取的引用行号与3的余数进行判断。如果余数为0,则产生一个空行;如果余数为1,则固定取sheet1中第一行的内容;否则运用INDEX函数和INT函数来取Sheet1对应行上的数。
最后来设置一下格式,选定A1:N2设上表格线,空行不设。然后选定A1:N3,拖动N3的填充柄向下自动填充,这样有数据的有表格线,没有数据的没有表格线。最后调整一下页边距,千万别把一个工资条打在两页上。怎么样,还满意吧?
http://tech.ddvip.com/2007-07/118390527628889.html
- Excel工资条
- 工资条打印 Excel操作
- Excel玩转工资条
- EXCEL之工资表转工资条
- 工资条
- Excel VBA高效办公应用-第十三章-工资条与工资查询-Part2 (工资条查询)
- Excel VBA高效办公应用-第十三章-工资条与工资查询-Part1 (制作工资条)
- 教你如何用Excel表来制作工资条
- 工资条惨不忍睹
- 用VB6.0编报表工资条的软件,结果失败。用EXCEL做反而更好。
- 发工资条了!!!
- silverlight 如何打印工资条
- 【VBA研究】生成工资条
- 薪酬模块生成工资条
- 一个MM的工资条(zt)
- 昨天人生中第一张工资条
- 妙用EXECEL与JMAIL发送员工工资条
- 生活之工资条(薪资结构参考)
- DataList分页
- Sql ISNULL() 函数
- 选择“Win32汇编”的三大理由?
- oracle 的数据类型
- ActiveX综述 升级 CAB创建
- Excel工资条
- URLRewriting
- Lib Dll 差异 调用
- 程序员的前生
- URLRewriting_2
- 确认服务器
- 出差一天的七大郁闷
- SQL操作全集
- 去除Oracle数据库中字段的回车换行