利用函数法将工资表转换为工资条
利用函数法将工资表转换为工资条
彭怀文
当每月把工资表做好以后,可能根据企业管理需要制作打印工资条,以便员工核对并签字确认。工资条至少必须包含标题行和工资核算的相关数据,也就是说最少有两行,其中一行的标题行是每张工资条都一样。
下面就分步骤进行讲解。
步骤1:将工资表复制一个新建的工作簿"工资条",并将工资表所在工作表名改为"工资表",将另外一张空白工作表改名为"工资条"。如图:11-1-1
11-1-1
在工作中要要养成一个好习惯,就是对源数据最好单独保存,避免在操作中失误造成数据丢失。
步骤2:对"工资表"的标题行进行整理。有些人在做工资表时,喜欢合并单元格。但是由于使用函数法时会对单元格进行引用,函数本身不具有合并单元格的功能,函数引用时可能出现错误。因此,对标题行需要整理成单标题行,不能出现合并单元格。
步骤3:对"工资表"的数据进行复制并选择性粘贴(数值),并对可以不出现在"工资条"上的内容进行删除,对工资表中的"小计"、"合计"等不需要的删除。
步骤4:设置函数公式。这一步是本办法中最难也是最关键的步骤。
工资表经过整理后基本上就是如下图所示:11-1-2
而我们希望得到的工资条是这样的:图11-1-3
也就是说"工资条"那张工作表,是希望在"工资表"的基础上增加空白行和标题行。
经过观察,我们可以发现:1、"工资条"的标题行始终是绝对引用"工资表"标题行,且在"工资条"表上的行序列为1、4、7等;2、"工资条"上有数字行在2、5、8等;3、空白行在3、6、9等。
经过上述观察,可以发现这些行序列号是非常有规律的:如果用这些行序列号除以3的话,标题行的余数是1,数字行是2,空白行是0。所以,可以在"工资条!"的A1单元格输入如下函数公式:
=IF(MOD(ROW(),3)=1,工资表!A$1,IF(MOD(ROW(),3)=2,VLOOKUP((ROW()+1)/3,工资表!$A:$L,COLUMN(),0),""))
然后将"工资条!"单元格A1向右批量复制至单元格L1(根据实际情况确定),同时选中单元格A1至L1向下拖动鼠标复制函数公式。
公式看起来有点复杂,其实就是IF函数嵌套了两层而已。分别解释一下:
第一层:如果单元格行序列号除以3余数是1,则返回"工资表!A1"。
第二层:如果单元格行序列号除以3余数是2,则返回查找引用:查找值是(行序列号+1)/3,返回引用的是"工资表!"相同列序列号对应的值。如果不满足条件,则返回空文本。
特别提醒:工资表上的序号必须按照从1开始的整数,中间不能断号,因为笔者在函数公式中借用了该序号作为查找引用的查找值,否则就会出错。序号在此还有计数的功能,当我们向下拖动鼠标复制公式时,可以从序号中看出是否已经把工资表上所有人的工资都已经转化为工资条了。
往期精选
年度汇算实务:未满足收入会计确认条件的财税处理与纳税调整及填报
个税申诉太多,会计小姐姐崩溃的哭了!可是,你以为只是个税的事情吗?
企业所得税与个人所得税汇算实务:辞退福利(离职补偿)的财税处理与汇算
汇算实务:当销售遇上融资时的财税处理与纳税调整——销售回购篇
汇算实务:存货对外投资可能不需要视同销售,而需要进行未按权责发生制确认收入纳税调整
汇算清缴实务:未按权责发生制确认收入的纳税调整及填报——政府补助篇(总额法)
汇算清缴实务:政府补助按不征税收入处理的纳税调整(更正后重发)