古木西风 发表于 2008-7-5 13:25:00

让Excel自动给每个人打印工资条

让Excel自动给每个人打印工资条

新建一Excel文件,在sheet1中存放工资表的原始数据,假设有N列。第一行是工资项目,从第二行开始是每个人的工资。

http://www.knowsky.com/img2005/luq4nr9in64as.jpg

  在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!$AN,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的填充柄向下自动填充,这样有数据的有表格线,没有数据的没有表格线。最后调整一下页边距,千万别把一个工资条打在两页上。怎么样,还满意吧?

黄肠题凑 发表于 2008-7-18 20:13:04

不错,下个月试试看,顶一下!

子宇 发表于 2008-7-20 22:02:14

实质便是插入空行的方法,形式很多,函数,vba,

快捷直接操作,都可。:P

小精灵 发表于 2008-7-21 10:30:17

不错,我也准备试试,支持!

俺不是会计 发表于 2008-8-27 16:16:15

不行啊,$AN老师不对啊

乔丹 发表于 2009-10-26 17:32:06

我准备来试试咯!!!
不知道怎么用啦

chufei0012 发表于 2009-11-26 14:59:28

0012

不错,下个月试试看,顶一下!

蒙会计 发表于 2010-6-1 22:39:58

我准备来试试咯!!!
不知道怎么用啦
出自房地产会计网www.fdckj.com,地址:http://www.fdckj.com/thread-4854-1-1.html

蒙会计 发表于 2010-12-20 14:42:01

我准备来试试咯!!!
不知道怎么用啦
:handshake

茅毛 发表于 2010-12-31 08:45:00

认真学习,好好实践,看看是否可用。
页: [1] 2
查看完整版本: 让Excel自动给每个人打印工资条