现有一份工资表,要求将其转换成动态的工资条的形式。即工资表的数据一旦发生变化,工资条也跟着发生相应的变化。
这里主要分3个步骤完成:
步骤一:
首先,将工资表的标题行复制粘贴到空白的单元格区域,并将工资条的格式设置好,如下图所示:
步骤二:
其次在A18单元格输入公式:
=VLOOKUP(INDIRECT("A"&INT(ROW(12:12)/4)),$A$3:$G$14,COLUMN(A1),0)
并向右填充,就会得到第一位员工张三的工资条。
步骤三:
选中A16:G19单元格区域下拉填充即可完成工资条的全部制作,最后的效果如下图所示:
公式解读:
公式=ROW(12:12)/4向下填充 就会得到3,3.25,3.5,3.75,4,4.25,4.5.4.75..........这样的数据
再用int函数取整就会得3 ,3 ,3 ,3, 4, 4, 4, 4,5 ,5 ,5 ,5............ 这样的数据
接着用连接符&将其与A连接就会得到A3,A3,A3,A3,A4,A4,A4,A4……这样的循环数据
最后再用indirect函数就能返回单元的内容,即张三,张三,张三,张三,李四,李四,李四,李四,.............
=INDIRECT("A"&INT(ROW(12:12)/))
讲到这想必大家都挺熟悉的了,接着就是vlookup函数的常规用法了。
=VLOOKUP(INDIRECT("A"&INT(ROW(12:12)/4)),$A$3:$G$14,COLUMN(A1),0)公式的含义为:
精确查找INDIRECT("A"&INT(ROW(12:12)/))的值在区域A3:G14中的第几列