问题情境
工资样表如下:
完成后的工资条:
实现方法
第一种:编号法
如下动图:
此种方法的好处在于:不需要函数!!
此种方法的缺点在于:适合数据量少的情况。
如果员工增加了,还需要重重新制作工资条。
第二种:简单函数法
第一步:
在B2单元格输入公式:
=VLOOKUP($A2,工资表!$A$2:$F$10,COLUMN(B1),0)
公式向右填充出第一位员工所有的工资信息。
如下图:
公式中第三个参数COLUMN(B1)是可变的,向右填充时会自动变化为COLUMN(C1)、COLUMN(D1)……
第二步:
选中A1:F3区域,即第一位员工工资条和下方一行空白区域,向下填充,即得所有员工工资条。
如下动图:
第三种:完全函数法
在A1单元格输入公式:
=CHOOSE(MOD(ROW(),3)+1,"",工资表!A$2,INDEX(工资表!$A$2:$F$10,(ROW()+4)/3,COLUMN()))
公式向下向右填充,可得所有员工的工资条。
如下图:
此函数的关键是弄清楚工资条内容与当前行数的规律:
行数除以3,余数为1,则填写“编号”“姓名”“职称”“基本工资”等信息; 行数除以3,余数为2,则填写每位员工的个体工资信息; 行数除以3,余数为2,则填写两位员工之间的间隔行,即空白。(CHOOSE函数的用法可以参考:Excel | CHOOSE函数用法集锦)
注:
工资条中,“编号”“姓名”“职称”“基本工资”等信息行填充为绿色,是用条件格式的公式设置的,公式为=mod(row(),3)=1,含义为如果当前行除以3的余数为1.
如下图: