在会计工作中常常需要打印每位员工的工资条,在excel中如何快速制作工资条呢?在工作中我摸索出两种较简单、便捷的方法。
方法一、运用排序功能快速生成工资条
1、将工资数据拷贝到一个空白页面,在数据前插入一个“序号”列,将标题行(第一行)复制两行到数据最下方,复制两行,将a1单元格中输入“序号”两字。
2、将“序号”列中的工资数据各行以2、4、6、8等数字用填充柄向下填充;将“序号”列中下方的标题行填入1、3,然后将下方的两行标题用填充柄向下复制填充直到与工资数据行数相同为止。
3、选中所有单元格,单击“数据→排序”菜单,选择“有标题行”,主要关键字按“序号”列升序排列,再删除第一行标题并画上表格线,稍加设计调整工资条就制作成功了如下图所示,“打印”按钮,即可将工资条打印出来。
方法二、运用index函数快速生成工资条
函数名称:index
主要功能:返回表或区域中的值或值的引用
使用格式:index(reference,row_num,column_num,area_num)
参数说明:reference对一个或多个单元格区域的引用。Www.lw881.com如果为引用输入一个不连续的区域,必须用括号括起来,如果引用中的每个区域只包含一行或一列,则相应的参数row_num或column_num分别为可选项。例如,对于单行的引用,可以使用函数index(reference,,column_num)。row_num引用中某行的行序号,函数从该行返回一个引用。column_num引用中某列的列序号,函数从该列返回一个引用。area_num选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,函数index使用区域1。
应用举例:假如在图3中a2单元格输入公式:
=index(工资计算!$a:$l,int((row()+4)/3),column()),则单元格值为工资计算页a:l区域中第2行(即当前单元格行号2加4除3后取整的值)第1列单元格的值(即工资计算页a2单元格的值)。
相当于公式:=index(工资计算!$a:$l,2,1),此公式虽然简单但无法通过填充柄复制方式来快速地生成满足要求的其他单元格公式。
特殊说明:在通过reference和area_num选择了特定的区域后,row_num和column_num将进一步选择指定的单元格:row_num为区域的首行,column_num为首列,以此类推。函数index返回的引用即为row_num和column_num的交叉区域。
如果将row_num或column_num设置为0,函数index分别返回对整个列或行的引用。
row_num、column_num和area_num必须指向reference中的单元格;否则,函数index返回错误值#ref!。如果省略row_num和column_num,函数index返回由area_num所指定的区域。
实例中的应用:
关于“如何打印工资条”这样的问题,有不少人采取录制宏或vba的方法来实现,这对于初学者来说有一定难度。出于此种考虑,在这里给出一种用函数实现的简便方法。
在此工资计算实例中工资数据保存在“工资计算”工作表的a1至l20单元格区域中,其中第1行为标题项目。
1、切换到“工资条”工作表中,选中a1单元格,
输入公式:=if(mod(row(),3)=0,"",if(mod(row(),3)=1,工资计算!a$1,index(工资计算!$a:$l,int((row()+4)/3),column())))。(其中mod()为取余数函数,int()为取整函数,公式含义为:当前行号值与3相除余数为1时,单元格取值为“工资计算”页标题行(第1行)对应列值,形成标题项目行;当其余数为2时(即不为1和0时),单元格取值为工资计算页相应行职员工资值,形成职员工资值行;当其余数为0时单元格取值为""(即空字符)形成分割空行。
2、再次选中a1单元格,用“填充柄”将上述公式复制到b1至l1单元格中;然后,再同时选中a1至l1单元格区域,用“填充柄”将上述公式复制到a2至l59单元格中。至此,工资条基本成型,下面简单修饰一下。
3、调整好行高和列宽后,同时选中a1至l2单元格区域(第1位职工的工资条区域),按“格式”工具栏“边框”右侧的下拉按钮,在随后出现的边框列表中,选中“所有框线”选项,为选中的区域添加边框(如果不需要边框,可以不进行此步及下面的操作)。
4、同时选中a1至l3单元格区域,点击“常用”工具栏上的“格式刷”按钮,然后按住鼠标左键,自a4拖拉至l21单元格区域,为所有的工资条添加边框。
5、按“打印”按钮,即可将工资条打印出来。
两种方法相比,第一种方法思路简单操作方便,但每次发工资时都要重新制作,适合于excel应用水平较低的会计电算化人员;第二种方法运用了一个较生疏的index函数,并且设计中用到了mod()取余数函数、int()取整函数和数学运算式才形成需要的工资条,第一次设计比较费力,但以后每次发工资时,只需将工资数据拷贝到“工资计算”页中,工资条就会自动生成,可谓一劳永逸,所以适合于适合于excel应用水平较高的会计电算化人员。