方远奖学金 方远暑假班

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

招聘就业
网上报名
学校简介 学校简介 专业设置 文凭教育 国际认证 联系我们
专业设置 全科就业班 广告设计及电子商务就业班 (十个月班)网络工程及电子商务就业班 (十个月班)广告设计与建筑装潢设计就业班(十个月班 广告设计就业班 (六个月制)网络工程就业班 (六个月制)电子商务就业班 (六个月制)
新生须知 南阳方远电脑学校奖学金评选通知我原来没有接触过电脑,可以学吗?你们的学习时间是怎么安排的?毕业后分配工作吗?我不在你们学校学习,我是否可以参加学校外地学员是否能安排食宿?我课余时间能否来学校上机?如果我学不会怎么办?如果我要考试没有通能否随到随学?学完半年制能达到什么程度?
素质教育 年末公司纷纷裁员 技能充电成IT职场保护IT职场:阻碍职场发达的十种做法职场也有圆周率 IT人把握好职场的10个“求职英雄:“面霸”是这样炼成的80后职场新人的臭毛病 你有几个用人单位青睐自信独立学生 家长不必替子六大行业今年最好找工作6大“牛”人成为职场新贵职场牛人总结的面试成功守则简历编写四原则
网上教室 10种挂马方式 超级黑客McKinnon将被引渡回美国接受审判微软:Windows磁盘加密可放心使用IBM的新大型机全面采用Linux 明年安全趋势黑客也云计算 V-Ray渲染器经典中文解析(6)V-Ray渲染器经典中文解析(5)V-Ray渲染器经典中文解析(4)V-Ray渲染器经典中文解析(3)V-Ray渲染器经典中文解析(2)
当前位置 :  > 内容

用 Excel 制作漂亮的工资条的方法

来源:南阳方远 责编:南阳方远 作者:佚名 时间:2009-11-20 浏览:
[收藏]
如何使用Excel进行工资条的制作,也许有些网友使用已经很长时间了,但如何更快更好的做出漂亮的工资条,看看作者的方法吧。

  “小问题难倒老财务”,也许你已经在财务口上工作多年,也许你天天都要面对Excel那张老脸,也许你已经习惯了用工资明细表做员工工资统计并 向上级汇报,把表中的条目一条条复制粘贴后打印发给每个员工。可你是否想过,找一个更简单更有效率的方法?看起来这似乎有些困难:在工资明细表中,工资的 项目(即表头)一般只出现在表格开头的某一行,而在工资条中,为了便于阅读则要求每个人的工资都有表头,那么如何巧妙地把工资明细表制作成便于打印的工资 条呢?如图所示,这就是我们要完成的工作(原工资表见图1,转换成工资条后的效果见图2):

img200708010957430

图1 原工资表

img200708010957570

图2 转换后效果

  “条条大路通罗马”,不过路有远近之分,方法也有难易之别,这里给大家提供三种最简单易用的方法。

  方法一:宏命令控制法

  对于Office家族的宏功能,大家或许早有耳闻,但由于需要使用VBA进行编程,所以宏一直让许多人望而却步,不过要使用一个现成的宏就简单多了。首先打开要处理的Excel表,选择“工具→宏→Visual Basic 编辑器”,在编辑器左边的窗口中用鼠标双击Sheet1,会出现代码编辑窗口,在代码编辑窗口输入如下代码(为了不破坏原有的工资表,所以这里采用了将 Sheet1的内容复制到Sheet2的方法,所以最后的生成结果是在Sheet2中显示):

  Sub MakeSalaryList()

  Dim i As Integer

  Dim endrow As Integer

  '测出数据的最后一行

  endrow = Sheet1.Range("a65536").End(xlUp).Row - 1

  '把标题贴过去

  Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1))

  For i = 3 To endrow

  '把每条数据抬头贴过去

  Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1))

  '把数据贴过去

  Worksheets(1).Range(Cells(i, 1), Cells(i, 256)).Copy (Worksheets(2).Cells(3 * i - 6, 1))

  Next i

  End Sub

  关闭编辑器,将自动返回到刚才的Excel表,选择“工具→宏→宏”,将弹出如下对话框:(见图3)

img200708010958170

图3 添加宏

  点击“执行”,将在Sheet2生成如Gz-2所示的转换成工资条,怎样,不复杂吧。当然,如果你的表总Sheet2已经输入了别的内容,就可以将他复制到Sheet3来生成,代码修改也很简单,把其中的Sheet2修改成Sheet3就可以了,其它代码不变。

方法二:公式填充法

  相比宏命令,公式填充法更便于理解,不过需要手工操作的步骤稍微多一些,“鱼和熊掌不可得兼”,要用哪种方法就看你的爱好了。

  首先打开要操作的Excel工资表,为了不破坏原表(Sheet1)结构,我们仍然采用在Sheet2中进行操作的方法。由于这个工资表一共有L列,18行,要复制的表头项目在第二行,所以在第一个单元格中输入如下公式:

  =IF(MOD(ROW(),2)=0,INDEX(sheet1!$A:$L,INT(((ROW()+1)/2))+2,COLUMN()),sheet1!A$2)

  接下来的工作就简单了,我们只要使用填充柄将此公式填充到其它单元格,列向填充到L列,行填充到18行就大功告成。

  因为在不同的表格中这个公式需要修改的地方比较多,所以这里做一下解释:

  由于工资条中的奇数行都是表头,偶数行是数据,所以在这个公式中首先进行奇偶行判断,若是奇数行,直接取工资表的A2单元格数据(即公式中的 sheet1!A$2,如果表头数据在第4行第三列则修改为sheet1!C$4)。若是偶数行,则用INDEX()函数来取数。该函数的第一个参数是指 定工资表中的一个取数区域(即sheet1!$A:$L,如果不是从A到L列,那么可以修改这个参数,如修改为sheet1!$B$P ,就表示在B到P列之间取数)。当然,如果你想把转换后的数据放在Sheet3而不是Sheet2中,那么,只要在Sheet3中执行以上操作就可以了, 并不需要修改公式的内容(见图4)。

img200708010958330

图4 公式填充法

  采用这种方法不能自动插入空行,给打印后的裁减带来了一定的麻烦,所以,建议在做完后在全选所有单元格,通过调整行高和列宽来解决这个问题。

  方法三:Word邮件合并法

  对于宏和公式运用不太熟练的朋友别着急,这里还有一招等着你。

  首先我们确定好主文档(工资条表格)和数据源(Excel或Access格式的记录表),然后通过“邮件合并”向导把数据源中的的字段信息合并进来。

  点击“工具→信函与邮件→邮件合并”,然后在屏幕右侧进入“邮件合并”向导。

  第一步:选择文档类型。选择“信函”。

  第二步:选择开始文档。选择默认的“使用当前文档”。

  第三步:选取收件人。单击“使用现有列表”区的“浏览”按钮,通过“选择数据源”对话框,定位格式数据源的存放位置,选中并打开。接着弹出“邮件合并收件人”对话框,在这里可以指定参与邮件合并的记录,选择默认的“全部”,确定返回Word编辑窗口。

  第四步:撰写信函。将插入点定位于表格的第二行第一格内,单击“邮件合并”工具栏上“插入Word域”左边的“插入域”按钮,打开“插入合并 域”对话框,选中“域”下方列表框中的“序号”字段,并单击“插入”按钮,即可把“序号”字段合并到主文档中。然后用同样的方法把其余字段插入到主文档表 格中对应的位置即可。

  第五步:预览信函。在这里我们可以浏览一下工资条的大致效果,还可以调整“姓名”表格的宽度,让姓名在一行内显示。然后选中“姓名”后的表格区域,单击鼠标右 键在弹出的菜单中选择“平均分布各列”,让这些列具有相同的宽度,使工资条更美观。如果这样直接进入打印操作,一页纸只能打印一个工资条,所以选中整个工 资条表格,复制,粘贴到原表格下方空一行后的地方,把插入点定位于主文档中第一和第二个表格之间的空行处,单击“邮件合并”工具栏上的“插入Word域” 按钮,在弹出的菜单中选择“下一记录”命令,以此类推,就可以在一页纸上多排几个工资表,充分利用资源了。

  最后进入第六步:完成合并。然后把工资条打印出来,就制作完成了(见图5)。

img200708010958490

图5 完成

  OK,再也不用费力地重复劳动专门制作工资条数据表了,通过简单的转化一个数据表就实现了两项完全不同的功能,赶快操练一下吧。

[收藏]