工资条制作)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009-09-16 16:25作者:AndySky出处:电脑报责任编辑:杨玲
更多精彩相关文章推荐:
Word、Excel配合按人头打印工资条
用WPS表格轻松制作出美观实用的工资条
仅需一个公式让Excel按人头打出工资条
用Excel 制作漂亮的工资条的方法
点击查看更多软件资讯>>企业的财务管理中总是少不了工资计算和工资条的设计,如果能够掌握Excel设计工资条的方法和技巧,即可事半功倍地快速设计好计算准确又美观大方的工资条,否则不仅效率低下而且无法保证准确性。
工资条的特点分析
首先让我们看看工资条都有些什么特点。
1.工资条头可能一行,也可能两行,根据不同企业工资栏目需求而定。但相同处是每一项条目(或者一个工人的工资信息)具有一个条头,条头具有指定数目的重复性。
2.每一项条目中间有一个空行,方便裁剪。
根据以上特点,我们可以初步拟定工资条头部制作方案:
首先建立“工资明细表”,用于储存员工工资表信息,也用于平时编辑和汇总。
其次建立“工资条目表”,用于引用工资信息,同时产生工资条形式之工资目。
需要用到的函数可以因人而异,有很多公式都可以达成目的,但最后选择目标是效率最高又易于理解者。
现在,我们通过两个实例向大家详解工资条头的Excel设计过程,并分析其中技巧,希望望大家能从中受益,举一反三,设计出适合各自需求的Excel工资计算公式。
单行工资条头之设计
先看下面的数据,这是一个简易的单行条头工资信息摘录(数据随机生成,非实际工资),见图1。
利用此表数据,我们可以通过函数公式来引用数据,生成需要的工资条形式。
步骤与公式如下:
1.进入“单行表头工资条”工作表。
2.选中单元格B1,输入以下公式:
=CHOOSE(MOD(ROW(),3)+1,“”,单行表头工资明细!A$1,OFFSET(单行表头工资明细!A$1,ROW()/3+1,))
3.选中单元格B1,鼠标置于单元格右下角,当箭头变成十字形时(图2)
则向右拉至J1单元格。然后再选中B1:J1向下拉,直至公式结果出现空白。此时工资条效果见图3。
4.基本达到目的了,但表格还没有边框,打印则不太美观。现在为它加上边框:选中B1:J2,并点击工具栏边框按钮中的田字形按钮添加边框;再点击大方框按钮(图4),使工资表条目四周边框显示粗一些,比较美观。
5.选择B1:J3单元格,向下拖拉,直至有数据的最后一行。最后效果见图5。
公式解释:
=CHOOSE(MOD(ROW(),3)+1,“”,单行表头工资明细!A$1,OFFSET(单行表头工资明细!A$1,ROW()/3+1,))
1.CHOOSE函数是选择函数,支持30个参数。第一个参数是选择序号(数值),其余参数是被选值。第一个参数是N 则结果返回其余参数中第N个数值。
2.MOD函数是求余数函数,支持两个参数,第一个参数是被除数,第二个参数是除数,结果返回余数。
3.ROW函数是返回指定行行号之函数,若省略参数时则返回当前行。
4.OFFSET函数是返回偏移量之函数。支持五5参数,分别是[参照区域]、[行数]、[列数]、[高度]、[宽度]。
5.“”表示空白,返回空。
本公式巧妙动用MOD和ROW函数产生一个循环的序列2/3/1/2/3/1/2/3/1,再通过CHOOSE函数参数的变化动态地引用工资明细表的数据,其中“”的作用是当前行行号为3的倍数时返回空,从而产生一个空白行,方便制作工资条后裁剪。
当然,实现功能还有很多公式,如用以下IF函数实现等,各位用户自己去多摸索吧:
=IF(MOD(ROW(),3)=1,单行表头工资明细!A$1,IF(MOD(ROW(),3)=2,OFFSET(单行表头工资明细!A$1,ROW()/3+1,0),“”))
双行工资条头设计
先看数据如图6。
双行条头工资条和单行条头实现方法基本相同,仅仅是公式有些差异。现暂列如下:
=CHOOSE(MOD(ROW(),4)+1,“”,双行表头工资明细!A$1,双行表头工资明细!A$2,OFFSET(双行表头工资明细!A$1,ROW()/4+2,))
输入公式后向后拉再向下拉至末行,然后通过前面介绍的方法设置边框,其中部分单元格需去掉左边框或者右边框,使之显得美观。最后结果如下见图7。
仅需一个公式让Excel按人头打出工资条
2007-07-05 06:25作者:孙述亮原创出处:天极Yesky软件频道责任编辑:still
###adv###
使用Excel按人头制作工资条,网上有两个解决方案,一个是利用Word的“邮件合并”功能(详见),另一个是利用VBA来实现。
用“邮件合并” 功能操作虽说不难,但数据过多时也很麻烦;用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),C OLUMN())))”。确认后选择A1单元格,把鼠标放在A1单元格的右下角,鼠标变成“+”时,向右拖动鼠标自动填充至N列,这样工资条中的第一行就出来了。选定A1:N1,把鼠标放在N1单元格的右下角,鼠标再次变成“+”时,向下拖动鼠标自动填充到数据的最后一行,工资条就全部制作完成了。
该公式运用IF函数,对MOD函数所取的引用行号与3的余数进行判断。如果余数为0,则产生一个空行;如果余数为1,则固定取sheet1中第一行的内容;否则运用INDEX函数和INT函数来取Sheet1对应行上的数。
最后来设置一下格式,选定A1:N2设上表格线,空行不设。然后选定A1:N3,拖动N3的填充柄向下自动填充,这样有数据的有表格线,没有数据的没有表格线。最后调整一下页边距,千万别把一个工资条打在两页上。怎么样,还满意吧?(下载样表)