用excel 制作工资条

我在网上查了一下用excel制作工资条的公式是=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))”但是不明白他的意思,麻烦各位帮我解释下这个函数。

Excel小技巧

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-16
我先来解释第二个,IF函数那个吧。
请注意,这个函数是在B1单元格输入的。
首先要理解MOD(ROW(),3)=1这个判断条件
(1)MOD是余数函数,这个判断条件的意思是:如果所在行与3相除的余数为1
即,如果行数是4,那么就是MOD(4,3)=1,则判断条件成立
如果行数是6,那么MOD(6,3)=0,则判断条件不成立。
所以,在这个条件成立的时候,判断函数IF会取第一个值,即“单行表头工资明细!A$1”。从你发的文件上来看,1这行指的是表头,即“姓名”、“时间”这些项目名。
所以,在生成的新表中,第1行,第4行,第7行……(这些行与3相除的余数都为1),都会生成表头。
(2)而如果这个条件不成立,则第二个IF函数进行继续判断
如果余数为2(第2行、第5行、第8行……),会进行定位函数OFFSET(单行表头工资明细!A$1,ROW()/3+1,0)
这个函数的意思是,以A1单元格为参考值,向下取ROW()/3+1的值,由于2/3,5/3和8/3这样的值都是不足1,2,3的,因此要补一个1上去,所以ROW()/3+1的值,应该是1,2,3……
即新表的B2单元格,以A1为标准,向下取1行,得到原表的A2。
而新表的D5单元格,以D1为标注,向下取2行,得到原表的C3。
(3)如果前面两个条件都不成立,则余数为0,也就是说第3行,第6行,第9行……,根据函数,则得到空值,所以这一行都会变为空行。

这样就得到了那个新表。

CHOOSE函数的原理和这个差不多,前面MOD(ROW(),3)+1是判断条件,后面是按照前面等于1,等于2,等于3的三个结果。
在新表的第3行,第6行,MOD(ROW(),3)+1会等于1,所以输出是空值
在新表的第1行,第4行,MOD(ROW(),3)+1会等于2,所以输出的是表头
在新表的第2行,第5行,MOD(ROW(),3)+1会等于3,所以输出是OFFSET函数,还是定位的一个值。

写了这么多,希望能够帮到你哦!http://zhidao.baidu.com/question/333850768.html
这里比较详细本回答被提问者采纳
第2个回答  2020-07-21

首先,复制工资表的表头,粘贴 输入等于INDEX函数,第一个参数序号在A列,第二个参数row函数获取工资行号,再除以3,这里第一个工资所在行号是几就除几,最后再加上2,代表工资表表头有两行 确认公式后,再向右拖动填充公式,完成第一个工资条

第3个回答  2020-08-21

首先在辅助列输入序号,向下复制序号,在把表头复制到下面粘贴到下面的表格里面,点击序号,然后在数据里面点击升序,在删除辅助列即可。

第4个回答  2020-12-07

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。