如何将一个工资表转换为一条一条隔行的工资条,是人事人员应该掌握的一个excel技巧。
如下表所示为工资总表,该数据表包含了公司所有员工的工资明细。

我们的需求是将工资表转换成单独显示的工资条,以便后续的工资条打印。其形式如下图所示,将每位员工的工资明细进行单独呈现,并在上方添加标题行。

所以从需求示例来看,这个问题属于数据表的转换,是对数据进行特定引用的场景。
这样的情形下,使用vlookup等函数并没有好的解题办法,因此作者将利用index函数来达成数据转换的效果。
首先讲讲作者的解题思路,将通过函数公式来固定引用第一行的标题数据,并每隔两行引用一个空行来分隔每个工资条,然后依次引用每位员工的工资明细。
所以这个公式将输出三个不同结果,来依次显示特定的数据,即标题行,明细行和空行。
下面我们逐步建立公式的各组成部分,分别来引用三种特定数据,最后组合出完整公式。
第1部分,引用标题行数据。
怎么引用标题行的数据?
方式有很多,这里我们使用index函数,那么引用公式为:
=INDEX(A:A,1)

这个公式很简洁,只有两个参数,即第1参数引用区域,第2参数引用行。
很明显,第2参数引用行设置为数字1,则固定引用区域中的第1行,而第1参数引用区域是一个单列A:A列,而且是相对引用的,那么当我们拖动公式向右时,引用区域将实时变动为B:B列;而当拖动公式向下时,仍然是A:A,引用其第1行,则仍然为标题行数据。
第2部分,引用每位员工的工资明细。
获取了标题行后,就要引用员工的工资明细。但如何分别依次引用每位员工的明细数据,是其中的关键。
这里引用的逻辑是,每隔3行引用下一位员工的数据,因为第1行是标题,第2行是工资明细行,第3行是空行,所以每隔3行是下一位员工的工资明细。
那么index函数,在循环引用的场景下,公式可设置为:
购买专栏解锁剩余52%