说到付出,大家是不是百感交集?开心,是不言而喻的;至于担心,担心的是制作工资表。如何让工资表更快?事实上,我们在以前的文章中已经讨论过这个话题。关于如何快速制作工资表,可以回顾一下《Excel技巧》这篇文章。不过上一篇文章做了一个单行表头工资表。今天主要讨论如何快速制作合并单元格的多行表头和工资表。
比如下面是公司的工资单。现在我们需要把它打印成工资条。

1.公式方法,引用要插入的函数索引。
1.创建一个新工作表来准备工资单,并将工资单的标题**到新工作表中。

2.在新创建的工作表的单元格A5中,输入以下公式:
=INDEX(工资单!A$5:A$10,ROW()/5),然后在鼠标呈十字形时向右拖动。这时你可以看到A5:N5单元格都是用这个公式填充的。填好后用格式刷把工资表的A5:N5单元格刷成和工资表一样的格式。

3.选择A2:N6单元格区域,当鼠标处于十字形状时,向下拖动公式。(如果每个人的工资条之间不需要多一行,可以在这里少选一行,只选择A2: N5单元格区域。)

填充后的效果如下:

此时,你可以看到工资表已经出来了。
以上步骤看不懂也没关系。看个动态操作图就明白了。

公式解释:
INDEX函数是一个引用函数,用于返回一个值或对表或区域中的值的引用。
其语法格式:INDEX(array,row_num,column_num)。
参数row_num和column_num可以同时存在,也可以省略其中一个。
例如:
=INDEX(A1:C5,2,3)表示返回数据表区域(A1:C5)第二行第三列的值。
=INDEX(A1:A5,4)表示返回数据表区域(A1:A5)第四行的值。
ROW函数用于返回选定单元格中的行数。
其语法格式:
=行(引用)
参考参数可以省略。如果省略,默认情况下将返回row函数所在的单元格中的行数。
例如,=row(A12)表示A12所在的行数,即返回值为12。
因此,工资单上单元格A5中引用的公式:
=INDEX(工资单!A$5:A$10,ROW()/5),
Row()是单元格直接所在的行号,
那么ROW()=ROW(A5)=4,ROW()/5= ROW(A5)/5=1,
然后单元格A5公式=指数(工资!A$5:A$10,ROW()/5),
相当于=指数(工资表!A$5:A$10,1),即单元格A5的第一行:工资表的A10,即工资表单元格A5的值。
注:公式=指数(工资!A $5: A $10,ROW ()/5中的参数ROW()/5)没有固定的写法。每张工资表表头的行数不同,工资表表头起始行的位置也不同。这个参数的写法不同。
例如,如上例所示,工资单标题有三行。制作工资表时,表头起始位置从第二行开始,公式为:=INDEX(工资表!A$5:A$10,ROW()/5)
如果工资单位置从第一行开始,则公式为:=INDEX (payroll!B$5:B$10,(ROW()+1)/5)
二、排序定位空 value法
1.将工资单的副本**到新工作表中,添加一个辅助列,并输入序列号1、2、3、...,

2.因为这里的表头有三行,所以我们把第一步输入的序列号**三份,按顺序填在辅助栏里。

3.选择单元格区域A4:O27,点击菜单中的数据-排序,按辅助列即O列升序排序。

4.排序后,您可以看到该表具有以下效果:

5.先**页眉标题,然后选中A4:O27单元格区域,按快捷键Ctrl+G弹出【定位】对话框。

点击【定位条件】,选择[空 value]。

6.点击确定后,可以看到表格单元格区域的空 white单元格处于选中状态。此时按Ctrl+V粘贴,所有表头和表头行都将粘贴到空 white单元格中。

最后删除辅助栏,工资表就好了。
今天我先总结一下这两种方法。还有很多其他的方法,不管是用公式还是技巧。不防的话可以自己研究一下。