”
工资清单是比较常见的。
假设有个名为“工资表”,如下工资清单
需要变成如下效果。
我们分析特点。
第3行,第6行,第9行,也就是如果行号除3的余数为0,则显示空白。
那么需要一个公式如下
=IF(MOD(ROW(),3)=0,"","其他公式")
第1行,第4行,第7行,也就是如果行号除以3余数为1时,永远得到工资表第一行的数据,但是列需要变化。,
那么需要一个公式如下,请注意锁定方式
=IF(MOD(ROW(),3)=0,工资表!A$1,"其他公式")
第2行,第5行,第8行公式最难理解。
你需要INDEX,INT,ROW,COLUMN函数的知识。
如下公式
=(ROW()-1)/3
构建如下效果。
使用如下公式,可以每三行序号列加1
这完全是数学上的问题。
再来看INDEX函数
=INDEX(区域,行号,列号)
如下表格中
=INDEX(A:G,2,1) 就是第二行第一列,得到“赵甲子”
=INDEX(A:G,2,2) 就是第二行第二列,得到男
=INDEX(A:G,2,3) 就是第二行第二列,得到29
=INDEX(A:G,3,1) 就是第三行第一列,得到“钱乙丑”
=INDEX(A:G,3,2) 就是第三行第二列,得到男
=INDEX(A:G,3,3) 就是第三行第三列,得到38
为什么从第二行开始?
因为第一行是标题。
完整的公式如下。
也就是在表2中写一个公式就可以达到这样的效果。
完成的公式如下
今天的公式有点难
核心的部分就在于
=INDEX(工资表!$A:$G,INT((ROW()-1)/3)+2,COLUMN())
可以先收藏,以后慢慢理解。
当然有人会问,为什么不用排序的方法做
因为函数可以立即马上更新。
子曰:用之则行,不用则藏。
意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。
领取专属 10元无门槛券
私享最新 技术干货