邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

Excel制作工资条的多种方法收集

来自:种豆 时间:2017-12-29 阅读:849次 原文链接

Excel制作工资表然后打印出工资条,非常方便,下面就列出Excel制作工资条的多种方法。

Excel制作工资条两种简单方法之一:排序法

1、打开工资表→在工资表最后一空白列输入1,2,3……(注:输入的数字与工资表的行数相同)

2、在刚输入的数字下面向下输入1.1,2.1……,比上面的数据少一行,本列在K9中输入1.1

3、在K列任何一个单元格中单击左键→单击工具栏上的升序排列按钮→选择工资表→编辑→定位→定位条件选择“空值”→确定。

4、在编辑栏中输入=A$1→按住Ctrl键不放敲回车键。

5、在单元格K15下方输入1.01,2.01……一直输入到6.01→单击工具栏上的升序排列按钮→删除K列的数据。加一下边框便大功告成了。

如果在做第四步的时候出现乱码,可以尝试:在第四步输入:=AK$1 再按住Ctrl键不放敲回车键!

Excel制作工资条两种简单方法之二:函数法

第一步:打开工资表→单击Sheet2标签→在Sheet2工作表的A1单元格中输入=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))→向后拖到J1单元格(注:拖的长度应与原表长度相同)。

第二步:选择A1:J1区域向下拖→拖到第20行即可(注:拖的时候可能拖多或拖少,这时要看一下原表)→加一下边框便成功了。

Excel中运用排序功能快速生成工资条

1、将工资数据拷贝到一个空白页面,在数据前插入一个“序号”列,将标题行(第一行)复制两行到数据最下方,复制两行,将A1单元格中输入“序号”两字。

2、将“序号”列中的工资数据各行以2、4、6、8等数字用填充柄向下填充;将“序号”列中下方的标题行填入1、3,然后将下方的两行标题用填充柄向下复制填充直到与工资数据行数相同为止。

3、选中所有单元格,单击“数据→排序”菜单,选择“有标题行”,主要关键字按“序号”列升序排列,再删除第一行标题并画上表格线,稍加设计调整工资条就制作成功了如下图所示,“打印”按钮,即可将工资条打印出来。

Excel中运用INDEX函数快速生成工资条

函数名称:INDEX

主要功能:返回表或区域中的值或值的引用

使用格式:INDEX(reference,row_num,column_num,area_num)

参数说明:Reference对一个或多个单元格区域的引用。如果为引用输入一个不连续的区域,必须用括号括起来,如果引用中的每个区域只包含一行或一列,则相应的参数row_num或column_num分别为可选项。例如,对于单行的引用,可以使用函数INDEX(reference,,column_num)。Row_num引用中某行的行序号,函数从该行返回一个引用。Column_num引用中某列的列序号,函数从该列返回一个引用。Area_num选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,函数INDEX使用区域1。

Excel生成工资条的应用举例:假如在图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所指定的区域。

Excel中利用函数实现工资条

关于“如何打印工资条”这样的问题,有不少人采取录制宏或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应用水平较高的会计电算化人员。

Excel中利用重新排序法制作工资条

在Excel2000做成的工资表,只有第一个人有工资条的条头(如编号、姓名、岗位工资,年限工资……),想输出成工资条的形式。怎么做?

解决方法:

1、假设原工资表为“表1”,先复制“表1”到某新空白表中,命名为“表2”,删去“表2”中的多余行,使工资条头位于第一行,职工工资数据依次紧排在条头之后。

2、在“表2”工资数据的后一列H中,增加“标注”栏,依次向下填充入1,2,3…等步长为1的序列数。

3、选中“表2”工资条头下(工资条头不选)第2至最后一行,右键:插入,表2中将出现许多新增空行,将条头数据填入这些新增空行中(方法:选中A1:G1,右键“复制”,然后选中所有新增空行,右键“粘贴”即可,也可用拖拽填充法)。然后在其“标注”栏中依次填上1.5,2.5,3.5…。等步长为1的序列数。操作结果示意如下:

4、再次选中“表2”第2行至最后一行,点击菜单:数据-排序-按“标注”列(递增)排序,点击确定。再选中H“标注”列,右键:“隐藏”或“删除”,这样,工资条即基本制作完毕。

5、制作完成的工资条裁开后即可分发给同事了。您如果觉得此表格过于拥挤,还可用类似的方法在每个人之间插入空行。

Excel中利用宏命令制作工资条一

在Excel中新建一个文件,将其命名为“工资表与工资条”,在工作表“sheet1”中输入并编辑好本单位职工工资总表(如表1所示)后,点击“工具”菜单→“宏”→“宏…”→输入宏名“生成工资条”→创建,输入如下的宏的各行文本,输入完成后保存该宏。将工作表“sheet1”复制为另一个工作表“sheet2”中,使“sheet2”成为当前工作表,执行刚才创建的宏,即可很快将表1所示的工资表转换为表2所示的工资条。

宏的内容如下:

Sub生成工资条()
Cells.Select
'选择整个表去掉表格线
Range("F1").Activate
Selection.Borders(xlDiagonalDown).Line
Style
=xlNone
Selection.Borders(xlDiagonalUp).LineStyle
=xlNone
Selection.Borders(xlEdgeLeft).LineStyle
=xlNone
Selection.Borders(xlEdgeTop).LineStyle
=xlNone
Selection.Borders(xlEdgeBottom).LineStyle
=xlNone
Selection.Borders(xlEdgeRight).LineStyle
=xlNone
Selection.Borders(xlInsideVertical).LineStyle
=xlNone
Selection.Borders(xlInsideHorizontal).LineStyle
=xlNone
Rows(
"2:2").Select
'选择第2行
Selection.InsertShift:=xlDown
'在第2行前插入一行,保持第2行
为选中状态
num
=150
'总人数×3,如工资表中有100人则
为100×3即num=300
col
=14
'工资表的栏数,如工资表有17栏则
'
col=17
num1=4
DoWhilenum1
<=num
'循环插入空行
Range(Cells(num1,1),Cells(num1,col)).Select
'选中第num1行的第1列到第col列
Selection.InsertShift:=xlDown
Selection.InsertShift:
=xlDown
num1
=num1+3
Loop
Range(Cells(
1,1),Cells(1,col)).Select
Application.CutCopyMode
=False
'剪切复制模式无效
Selection.Copy
'复制选择区域
Range("A2").Select
'选择A2单元格
ActiveSheet.Paste
'从A2单元格起粘贴内容
num2=5
DoWhilenum2
<=num
'循环插入标题行
Range(Cells(1,1),Cells(1,col)).Select
Application.CutCopyMode
=False
Selection.Copy
Cells(num2,
1).Select
ActiveSheet.Paste
num2
=num2+3
Loop
Range(Cells(
2,1),Cells(3,col)).Select
Application.CutCopyMode
=False
Selection.Borders(xlDiagonalDown).LineStyle
=xlNone
'定义表格边框线、内线样式
Selection.Borders(xlDiagonalUp).LineStyle=xlNone
WithSelection.Borders(xlEdgeLeft)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeTop)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeBottom)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeRight)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlInsideVertical)
.LineStyle
=xlDash
.Weight
=xlThin
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlInsideHorizontal)
.LineStyle
=xlDash
.Weight
=xlThin
.ColorIndex
=xlAutomatic
EndWith
Selection.Copy
Range(Cells(
5,1),Cells(6,col)).Select
Selection.PasteSpecialPaste:
=xlFormats,Operation:=xlNone,SkipBlanks:=_
False,Transpose:=False
'接上行删除上行尾的连字符
_,复制表格线样式
num3
=8
DoWhilenum3<
=num
'循环复制表格线样式
Range(Cells(num3,1),Cells(num3+1,col))
.Select
Selection.PasteSpecialPaste:
=xlFormats,Operation:=xlNone,SkipBlanks:=_
False,Transpose:=False
num3
=num3+3
Loop
Rows(
"1:1").Select
'删除多余的一行
Selection.Delete
EndSub

以后每月要打印工资表与工资条时,只需将“工资表与工资条”文件打开,修改好工作表“sheet1”中的当月的工资总表数据后将其复制为工作表“sheet2”,并使“sheet2”成为当前工作表,执行宏“生成工资条”即可。

Excel中利用宏命令制作工资条二

在日常应用中,我们经常遇到这样的操作,每隔相等的几行,要重复做相同的事情。比如做工资条要打印时,每条记录前插入一个标题列;每隔N行的行高,统一调整为X高等。用常规的操作,如果数据少的话还可以承受,但数据量一大,就变成一件苦差事了。

下面这个宏,能够按指定的选择来选择等差行,选选择N至N+M行,然后再运行此宏,就可以选择从N行开始,每隔M行至到数据结束的行了,代码如下:

SubSelectRange()
'按选择区域给定参数选择等差行
DimiAsInteger,XRanAsRange
IfSelection.Areas.Count
>1Then
MsgBox"选择区域应为连续区域!",vbExclamation,"错误"
ElseIfSelection.Row
>ActiveSheet.UsedRange.Rows.CountThen
MsgBox"选择区域应在使用区域内!",vbExclamation,"错误"
Else
SetXRan
=Rows(Selection.Row)
Fori
=Selection.Row+Selection.Rows.CountTo_
ActiveSheet.UsedRange.Rows.CountStepSelection.Rows.Count
SetXRan
=Union(XRan,Rows(i))
Next
XRan.Select
EndIf

Excel中利用宏命令制作工资条三

AttributeVB_Name="模块1"
Sub生成工资条()
Cells.Select
'选择整个表去掉表格线
Range("F1").Activate
Selection.Borders(xlDiagonalDown).LineStyle
=xlNone
Selection.Borders(xlDiagonalUp).LineStyle
=xlNone
Selection.Borders(xlEdgeLeft).LineStyle
=xlNone
Selection.Borders(xlEdgeTop).LineStyle
=xlNone
Selection.Borders(xlEdgeBottom).LineStyle
=xlNone
Selection.Borders(xlEdgeRight).LineStyle
=xlNone
Selection.Borders(xlInsideVertical).LineStyle
=xlNone
Selection.Borders(xlInsideHorizontal).LineStyle
=xlNone
Rows(
"2:2").Select
'选择第2行
Selection.InsertShift:=xlDown
'在第2行前插入一行,保持第2行为选中状态
num=((ActiveSheet.UsedRange.Rows.Count)-2)*3
'这个数字是工资表中总人数乘以3,例如工资表中有20人,就是num=60
col=ActiveSheet.UsedRange.Columns.Count
'这个数字是工资表中的列数,例如工资表中有20列,就是col=20
num1=4
DoWhilenum1
<=num
'循环插入空行
Range(Cells(num1,1),Cells(num1,col)).Select
'选中第num1行的第1列到第col列
Selection.InsertShift:=xlDown
Selection.InsertShift:
=xlDown
num1
=num1+3
Loop
Range(Cells(
1,1),Cells(1,col)).Select
Application.CutCopyMode
=False
'剪切复制模式无效
Selection.Copy
'复制选择区域
Range("A2").Select
'选择A2单元格
ActiveSheet.Paste
'从A2单元格起粘贴内容
num2=5
DoWhilenum2
<=num
'循环插入标题行
Range(Cells(1,1),Cells(1,col)).Select
Application.CutCopyMode
=False
Selection.Copy
Cells(num2,
1).Select
ActiveSheet.Paste
num2
=num2+3
Loop
Range(Cells(
2,1),Cells(3,col)).Select
Application.CutCopyMode
=False
Selection.Borders(xlDiagonalDown).LineStyle
=xlNone
'定义表格边框线、内线样式
Selection.Borders(xlDiagonalUp).LineStyle=xlNone
WithSelection.Borders(xlEdgeLeft)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeTop)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeBottom)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlEdgeRight)
.LineStyle
=xlDouble
.Weight
=xlThick
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlInsideVertical)
.LineStyle
=xlDash
.Weight
=xlThin
.ColorIndex
=xlAutomatic
EndWith
WithSelection.Borders(xlInsideHorizontal)
.LineStyle
=xlDash
.Weight
=xlThin
.ColorIndex
=xlAutomatic
EndWith
Selection.Copy
Range(Cells(
5,1),Cells(6,col)).Select
Selection.PasteSpecialPaste:
=xlFormats,Operation:=xlNone,SkipBlanks:=False,Transpose:=False
'接上行删除上行尾的连字符_,复制表格线样式
num3=8
DoWhilenum3
<=num
'循环复制表格线样式
Range(Cells(num3,1),Cells(num3+1,col)).Select
Selection.PasteSpecialPaste:
=xlFormats,Operation:=xlNone,SkipBlanks:=False,Transpose:=False
num3
=num3+3
Loop
Rows(
"1:1").Select
'删除多余的一行
Selection.Delete
EndSub

利用Excel强大的数据处理和打印输出功能制作工资条,加快了制作工资条的效率,也减少了手工制作工资条出现的错误,使用起来还是非常方便的。


 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3371650278进行处理
sowsoy.com 版权所有 Copyright©2010-2020 浙ICP备10212932号
Email:sowsoy#hotmail.com