问题情境
工资样表如下:
已完成的工资单:
第一种实现方法:编号法。
以下动画:
这种方法的优点是不需要函数!
这种方法的缺点是适用于数据较少的情况。
如果员工人数增加,就需要重新制作工资表。
第二:简单函数法。
第一步:
在B2单元格中输入公式:
=VLOOKUP($A2,工资表!$A$2:$F$10,COLUMN(B1),0)
该公式填充右边第一个员工的所有工资信息。
下图:
公式中的第三个参数COLUMN(B1)是可变的,将自动更改为COLUMN(C1)、column (D1).
第二步:
选择A1:F3区域,即第一个员工的工资条和下面一行的空白区域,向下填充即可得到所有员工的工资条。
以下动画:
第三:完全函数法。
在单元格A1中输入公式:
=CHOOSE(MOD(ROW))(3)1,“”,工资单!一份2美元的INDEX(工资单!$A$2:$F$10,(ROW(4)/3,COLUMN()))
把公式填到右边,就可以得到所有员工的工资表。
下图:
该功能的关键是找出薪资内容与当前行数之间的规律:
如果行数除以3,余数为1,填写“否”、“姓名”、“职称”、“基本工资”等信息。
如果行数除以3,余数为2,填写每个员工的个人工资信息;
如果行数除以3,余数为2,则填写两个员工之间的间隔行,即空白。
(关于CHOOSE函数的用法,请参考Excel CHOOSE函数用法集。)
注意:
工资条中“否”、“姓名”、“职称”、“基本工资”等信息行用绿色填写,由公式以条件格式设置,公式为=mod(row())=1,表示当前行除以3,余数为1。
下图: