摘要:财务人员时常面临一大堆数据需要及时处理,但是常常因为没有找到恰当方法,十分钟的事可能一天才能处理完。本文便通过实例详细介绍如何巧用EXCEL函数快速、准确打印员工工资表的方法,具有很强的可操作性,以期为广大从事工资表制作的人员提供有用参考。 关键词:EXCEL函数工资条打印 随着现代化办公的普及,以前需要很长时间处理的事情,现在可以方便、快速的处理,员工的办事效率大大提高。比如和银行签订了委托批量代付工资协议后,每个月发工资时间,公司将工资清单生成银行加密数据拷给银行,银行便会在收到转账支票后将工资打到每位员工的工资卡上,既减少了工作量又避免了现金风险。但是员工工资卡收到的转款只是一个金额,员工往往不清楚工资项目和扣款情况,为了减少员工的疑惑,提高工作热情,常常需要财务人员为员工提供一个工资明细单。 目前常用三种方式为员工提供工资明细单,一是购买管理软件进行短信通知,如用友软件里面的工资短信通知功能,但是这需要通信运营商提供接口,成本较高;另一种是通过VBA编程实现,不过该方法专业性要求高,一般财务人员不易操作;最后一种是利用EXCEL中自带的函数功能实现工资条的快速、便捷制作打印,且专业知识要求不高,具有较高可操作性。笔者在此就第三种方法进行详细的案例说明,以供参考。 1 工资清单及工资条模板 笔者以某公司工资清单为例(见图一),一般工资清单包括三个大部分,应发工资、扣款项目和实发工资。 对图一工资清单进行处理,最后将自动生成如图二的工资条。 2 涉及的函数简介 为了方便读者更容易理解自动生成工资条的函数公式,下面介绍公式中主要涉及的几个函数。 2.1 IF函数用来判断真假值,根据逻辑的真假值返回不同的计算结果。并且可以使用IF函数对数值和公式进行条件检测。 函数语法:IF(logical_test,value_if_true,value_if_false)。其中logical_test表示计算结果为真或假的任意值和表达式;value_if_true表示logical_test为真时返回的值;value_if_false表示logiacl_test为假时返回的值。 2.2 MOD函数用来计算两个数相除所得到的余数,结果的正负号同除数的相同。 函数语法:MOD(number,divisor)。Number代表被除数;divisor代表除数。 2.3 ROW函数用来返回公式或引用单元格所在行的行号。 函数语法:ROW(reference)。reference代表需要得到其行号的单元格或单元格区域。 2.4 INDEX函数用来返回表或者区域中的值或者值的引用。函数有两种形式:数组和引用。数组形式一般用作返回数值或数组数值,引用形式则一般用来返回引用。工资条的公式中只涉及数组形式,所以在此只介绍数组形式。 函数语法:INDEX(array,row_num,column_num)。array:为单元格区域或数组常量。如果数组只包含了一行或者一列,那么只要选择相对应的一个参数row_num或column_num。如果数组有多行或者多列,可是只用到row_num或column_num,那么INDEX函数就会返回数组中的整行或者整列,并且返回值也是数组。row_num:代表数组当中某一行的行序号,函数将从此行返回一个值。要是省略row_num,那么必须有column_num。cloumn_num:代表数组当中某一列的列序号,函数将从此行返回一个值。要是省略column_num,那么必须有row_num。 2.5 INT函数的作用是将数字向下舍入到最接近的整数。 函数语法:INT(number)。Number代表需要进行向下舍入的数字。 2.6 COLUMN函数的作用是用来返回给定引用的列标,与ROW函数相对应。 函数语法:COLUMN(reference)。Reference代表需要得到其列标的单元格或单元格区域。 3 工资条自动生成操作方法 3.1 在“工资表.xls”工作簿中插入一个新工作表,重新命名为“工资条”。 3.2 选中A1单元格,在表格的编辑栏中输入下列公式,再按键确认。 “=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,工资清单!A$3,INDEX(工资清单!$A:$P,INT((ROW()-1)/3)+4,COLUMN())))” 首先分析“INDEX(工资清单!$A:$P,INT((ROW()-1)/3)+4,COLUMN())”,在该公式中行的参数为“INT((ROW()-1)/3)+4”,在表格第一行录入此参数,那么返回4,鼠标将表格向下拖公式到20行,那么结果是4;4;4;5;5;5;6;6;6…可以发现用“INT((ROW()-1)/3)+4”做INDEX的行参数,那么连续的3行将会重复返回特定范围内的第4、5、6行的内容,在本案例中特定区域是“工资清单”工作表,从4行开始,才是工资条个人信息需要录入的内容,所以这样每隔3行就录入“工资清单”中下一行个人信息。用COLUMN()作为INDEX的列参数,在用鼠标将公式往右拖时,列参数COLUMN()也相应增加。 再分析“IF(MOD(ROW(),3)=0,"",******)”,它主要表示公式所在行的行号被3整除,如果判断结果为“真”,那么返回空;“IF(MOD(ROW(),3)=1,工资清单!A$3,******”,它主要表示公式所在行的行号除以3的余数为1,如果判断为“真”,那么返回在“工资清单”工作表A3表格的值;否则返回上面分析的INDEX函数段的值。另外“A$3”和“$A”均表示相对引用,区别在于“$”在列字母A前面时,向公式右边复制公式,列字母和行数字均不改变,向公式下方复制公式时列字母不变行数字改变。相反的,“$”在列字母A后面时,向公式右边复制公式,列字母改变行数字不改变,向公式下方复制公式时,列字母和行数字均不改变。 3.3 用鼠标点选A1单元格,将鼠标移至A1单元格右下角,鼠标指针成“+”状,然后按住鼠标左键往右拖动至N列,如图三所示: 3.4 鼠标选中A1至N1单元格,同样在选中区域右下角,鼠标指针成“+”状,然后按住鼠标左键往下拖动复制单元格公式,如图四所示: 3.5 为了美化表格,取消多余网格线,选中A1单元格,单击菜单“格式”→“条件格式”弹出条件格式对话框,依次在“条件1(1)”中选择“单元格数值”→“不等于”,然后输入“=$A$3”。单击“格式”→“边框”→“外边框”→“确认”。最后回到“条件格式”中单击“确认”,如图五所示。 再次选中A1单元格,在工具栏中选中“格式刷工具” ■,选中“工资条”工作表中单元格,格式复制完成。然后选择“工具”→“选项”,取消“网格线”和“零值”。美化后工资条即如前面图二所示。 总之,EXCEL办公软件对于我们财务人员处理日常数据具有相当大的帮助,即使熟练运用一组公式都将大大减少工作量,并且排版灵活、美观,不需要高深的计算机知识。在实际工作中是不可缺少的办公软件。 参考文献: [1]Excel Home.Excel 高效办公――会计实务[Z].人民邮政出版社.2008年7月. 作者简介: 唐毅,男,1987年9月生,四川彭州人,曾在四川省彭州市宝山企业(集团)有限责任公司和欧尚超市有限公司西南区域财务部担任会计,现就读于四川大学工商管理学院11级全日制会计专业硕士研究生。
摘要:财务人员时常面临一大堆数据需要及时处理,但是常常因为没有找到恰当方法,十分钟的事可能一天才能处理完。本文便通过实例详细介绍如何巧用EXCEL函数快速、准确打印员工工资表的方法,具有很强的可操作性,以期为广大从事工资表制作的人员提供有用参考。 关键词:EXCEL函数工资条打印 随着现代化办公的普及,以前需要很长时间处理的事情,现在可以方便、快速的处理,员工的办事效率大大提高。比如和银行签订了委托批量代付工资协议后,每个月发工资时间,公司将工资清单生成银行加密数据拷给银行,银行便会在收到转账支票后将工资打到每位员工的工资卡上,既减少了工作量又避免了现金风险。但是员工工资卡收到的转款只是一个金额,员工往往不清楚工资项目和扣款情况,为了减少员工的疑惑,提高工作热情,常常需要财务人员为员工提供一个工资明细单。 目前常用三种方式为员工提供工资明细单,一是购买管理软件进行短信通知,如用友软件里面的工资短信通知功能,但是这需要通信运营商提供接口,成本较高;另一种是通过VBA编程实现,不过该方法专业性要求高,一般财务人员不易操作;最后一种是利用EXCEL中自带的函数功能实现工资条的快速、便捷制作打印,且专业知识要求不高,具有较高可操作性。笔者在此就第三种方法进行详细的案例说明,以供参考。 1 工资清单及工资条模板 笔者以某公司工资清单为例(见图一),一般工资清单包括三个大部分,应发工资、扣款项目和实发工资。 对图一工资清单进行处理,最后将自动生成如图二的工资条。 2 涉及的函数简介 为了方便读者更容易理解自动生成工资条的函数公式,下面介绍公式中主要涉及的几个函数。 2.1 IF函数用来判断真假值,根据逻辑的真假值返回不同的计算结果。并且可以使用IF函数对数值和公式进行条件检测。 函数语法:IF(logical_test,value_if_true,value_if_false)。其中logical_test表示计算结果为真或假的任意值和表达式;value_if_true表示logical_test为真时返回的值;value_if_false表示logiacl_test为假时返回的值。 2.2 MOD函数用来计算两个数相除所得到的余数,结果的正负号同除数的相同。 函数语法:MOD(number,divisor)。Number代表被除数;divisor代表除数。 2.3 ROW函数用来返回公式或引用单元格所在行的行号。 函数语法:ROW(reference)。reference代表需要得到其行号的单元格或单元格区域。 2.4 INDEX函数用来返回表或者区域中的值或者值的引用。函数有两种形式:数组和引用。数组形式一般用作返回数值或数组数值,引用形式则一般用来返回引用。工资条的公式中只涉及数组形式,所以在此只介绍数组形式。 函数语法:INDEX(array,row_num,column_num)。array:为单元格区域或数组常量。如果数组只包含了一行或者一列,那么只要选择相对应的一个参数row_num或column_num。如果数组有多行或者多列,可是只用到row_num或column_num,那么INDEX函数就会返回数组中的整行或者整列,并且返回值也是数组。row_num:代表数组当中某一行的行序号,函数将从此行返回一个值。要是省略row_num,那么必须有column_num。cloumn_num:代表数组当中某一列的列序号,函数将从此行返回一个值。要是省略column_num,那么必须有row_num。 2.5 INT函数的作用是将数字向下舍入到最接近的整数。 函数语法:INT(number)。Number代表需要进行向下舍入的数字。 2.6 COLUMN函数的作用是用来返回给定引用的列标,与ROW函数相对应。 函数语法:COLUMN(reference)。Reference代表需要得到其列标的单元格或单元格区域。 3 工资条自动生成操作方法 3.1 在“工资表.xls”工作簿中插入一个新工作表,重新命名为“工资条”。 3.2 选中A1单元格,在表格的编辑栏中输入下列公式,再按键确认。 “=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,工资清单!A$3,INDEX(工资清单!$A:$P,INT((ROW()-1)/3)+4,COLUMN())))” 首先分析“INDEX(工资清单!$A:$P,INT((ROW()-1)/3)+4,COLUMN())”,在该公式中行的参数为“INT((ROW()-1)/3)+4”,在表格第一行录入此参数,那么返回4,鼠标将表格向下拖公式到20行,那么结果是4;4;4;5;5;5;6;6;6…可以发现用“INT((ROW()-1)/3)+4”做INDEX的行参数,那么连续的3行将会重复返回特定范围内的第4、5、6行的内容,在本案例中特定区域是“工资清单”工作表,从4行开始,才是工资条个人信息需要录入的内容,所以这样每隔3行就录入“工资清单”中下一行个人信息。用COLUMN()作为INDEX的列参数,在用鼠标将公式往右拖时,列参数COLUMN()也相应增加。 再分析“IF(MOD(ROW(),3)=0,"",******)”,它主要表示公式所在行的行号被3整除,如果判断结果为“真”,那么返回空;“IF(MOD(ROW(),3)=1,工资清单!A$3,******”,它主要表示公式所在行的行号除以3的余数为1,如果判断为“真”,那么返回在“工资清单”工作表A3表格的值;否则返回上面分析的INDEX函数段的值。另外“A$3”和“$A”均表示相对引用,区别在于“$”在列字母A前面时,向公式右边复制公式,列字母和行数字均不改变,向公式下方复制公式时列字母不变行数字改变。相反的,“$”在列字母A后面时,向公式右边复制公式,列字母改变行数字不改变,向公式下方复制公式时,列字母和行数字均不改变。 3.3 用鼠标点选A1单元格,将鼠标移至A1单元格右下角,鼠标指针成“+”状,然后按住鼠标左键往右拖动至N列,如图三所示: 3.4 鼠标选中A1至N1单元格,同样在选中区域右下角,鼠标指针成“+”状,然后按住鼠标左键往下拖动复制单元格公式,如图四所示: 3.5 为了美化表格,取消多余网格线,选中A1单元格,单击菜单“格式”→“条件格式”弹出条件格式对话框,依次在“条件1(1)”中选择“单元格数值”→“不等于”,然后输入“=$A$3”。单击“格式”→“边框”→“外边框”→“确认”。最后回到“条件格式”中单击“确认”,如图五所示。 再次选中A1单元格,在工具栏中选中“格式刷工具” ■,选中“工资条”工作表中单元格,格式复制完成。然后选择“工具”→“选项”,取消“网格线”和“零值”。美化后工资条即如前面图二所示。 总之,EXCEL办公软件对于我们财务人员处理日常数据具有相当大的帮助,即使熟练运用一组公式都将大大减少工作量,并且排版灵活、美观,不需要高深的计算机知识。在实际工作中是不可缺少的办公软件。 参考文献: [1]Excel Home.Excel 高效办公――会计实务[Z].人民邮政出版社.2008年7月. 作者简介: 唐毅,男,1987年9月生,四川彭州人,曾在四川省彭州市宝山企业(集团)有限责任公司和欧尚超市有限公司西南区域财务部担任会计,现就读于四川大学工商管理学院11级全日制会计专业硕士研究生。