制作工资条的3种方法

-01-

基础操作法

下图A1:F6是要制作工资条的数据源,操作过程和结果如动图所示,主要用到排序的方法。数据源有1条表头和5条记录,还需要4条表头和4个空行。可以手动复制粘贴,最主要的是编号和排序。看不懂就自己多做几次。

-02-

函数法

函数法有半自动和全自动的,各有各的好处。半自动的操作简单,但需要依靠编号列,而且下拉拖动要恰到好处。全自动的公式比较复杂,但写好后,只需右拉下拉即可。

先来看半自动的,操作过程如下图所示。首先,选择A1:F2,复制粘贴到A9单元格;然后,把B10:F10的内容删除,只保留表头和编号,在B10单元格输入公式=VLOOKUP($A10,$A$1:$F$6,COLUMN(B1),0),右拉填充。最后,选择A9:F11,下拉填充,拉到最后一条数据为止。

再来看下全自动的,在A9单元格输入下面的公式,右拉下拉,拉到空白行出现为止。

=IF(ROW(A1)>COUNTA($A$2:$A$6)*3,"",IF(MOD(ROW(A1),3),OFFSET(A$1,IF(MOD(ROW(A1)-1,3),INT((ROW(A1)-1)/3)+1,0),),""))

这个公式主要用到offset函数以及生成序列号的函数mod、int和row。这种问题其实是用倒推法做的,也就是根据结果往回推。

比如下图编号那一列实际是由A1单元格偏移0行,1行...0行,2行...0行,3行....得到的。这样问题就转化为如何得到这样的序号。无非就是循环序列mod和重复序列int的组合。当然还有其他细节就不细说了,我这里只提供一下思路。


-03-
vba代码法

最近在学习vba代码,所以vba的内容分享的比较多。但不是说就不分享函数的用法了,想学函数的小伙伴也不要着急,暂时可以看我早期的文章。

现在要把工资条的结果放在sheet2中,只需点下按钮即可得到结果。
代码如下:
链接:

https://pan.baidu.com/s/1eLnl-Rv72J0oMUDkHONepQ

提取码:6fgp
(0)

相关推荐