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

所属分类: 软件教程 / 办公软件 阅读数: 672
收藏 0 赞 0 分享
  此文介绍了如何使用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,再也不用费力地重复劳动专门制作工资条数据表了,通过简单的转化一个数据表就实现了两项完全不同的功能,赶快操练一下吧。

更多精彩内容其他人还在看

excel怎么使用EDATE函数计算员工退休时间?

excel怎么使用EDATE函数计算员工退休时间?在管理公司的时候,需要看看即将需要退休的员工数量,该怎么计算什么时候员工退休呢?下面我们就来看看excel中EDATE函数的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

excel表格中直条图怎么调节直条间的间距?

excel表格中直条图怎么调节直条间的间距?excel表格中的数据生成了矩形图表,想要调整矩形条之间的间距,该怎么调整呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

word左侧目录大纲怎么显示?word显示左侧导航目录教程

有的朋友在使用word时发现左侧的目录不见了?怎么让它显示呢?今天小编给大家带来word显示左侧目录教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Access表与表之间怎么创建关系?

Access表与表之间怎么创建关系?Access中有很多表,想要给两个表添加联系 ,该怎么添加呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

excel公式太长怎么办? excel长公式简化的方法

excel公式太长怎么办?excel表格中输入的公式很长,看上去比较累,想要简化公式,下面我们就来看看excel长公式简化的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

ppt怎么制作不停旋转的太阳动画效果?

ppt怎么制作不停旋转的太阳动画效果?ppt中可以制作一些简单的动画效果,该怎么制作呢?下面我们就来看看ppt制作不停旋转的太阳的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

excel表格提示不能更改数组该怎么办?

excel表格提示不能更改数组该怎么办?excel表格需要使用公式中定位的单元格,但是发现不能更改,提示不能更改数组的某一部分,该怎么办呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

ppt怎么设计出很漂亮的照片特效?

ppt怎么设计出很漂亮的照片特效?ppt中想要给插入的照片添加一些特效,该怎么添加呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

WPS怎么绘制立体的流程图?

WPS怎么绘制立体的流程图?之前我们介绍过wps制作平面流程图,今天我们就来看看制作立体的流程图效果的教程,很简单那,下面我们就来看看吸纳关系的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Excel如何设置四舍五入 Excel 四舍五入的设置方法

一些Excel表格中的数据中含有很多小数点的存在,当我们需要对这些数据进行四舍五入的时候,是可以通过函数实现的,那么Excel四舍五入怎么设置呢?下面通过本文给大家介绍下,需要的朋友参考下吧
收藏 0 赞 0 分享
查看更多