在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考:
一、利用DAYS360、CEILING和TRUNC函数
1.函数简介
①DAYS360函数
它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为:
DAYS360(Start_date,end_date,method)
其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。
另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如1998年6月1日至2000年12月31日工龄为3年;而有的则按“实工龄”计算,1998年6月1日至2000年12月31日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。
②CEILING函数
它的语法为:
CEILING(number,significance)
其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。
③TRUNC函数
它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为:
TRUNC(number,num_digits)
其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。
2.计算公式
①“虚工龄”
根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。
②“实工龄”
计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将(DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为“=TRUNC((DAYS360(A1,B1))/360,1)”即可。
二、YEAR和RIGHT函数
1.函数简介
①YEAR函数
它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为:YEAR(Serial_ number),其中Serial_
number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。
②RIGHT函数
该函数用来提取字符串最右边的若干个字符,因为YEAR函数的计算结果带有19等字样,必须利用RIGHT函数将它过滤掉。该函数的语法为:RIGHT(Text,Num_chars),其中Text是待计算的字符串,Num_chars用来指定从右向左提取的字符串长度(忽略时取1),例如“=RIGHT(“电脑爱好者”,3)”的计算结果为“爱好者”。
2.计算公式
由于YEAR和RIGHT函数的特点,它们组成的公式只能计算“实工龄”,具体形式为“=RIGHT(YEAR(A1-B1),2)”。公式中的A1和B1分别存放工龄的截止和起始日期(正好与DAYS360函数相反),“YEAR(A1-B1)”计算出两个日期间的年份数,RIGHT(YEAR(A1-B1),2)则通过自右向左提取年份的后两位(工龄一般都是一位或两位数)。计算出来的一位数工龄前有个“0”,与习惯不太相符,这是上述公式的缺点。
三、N和INT函数
1.函数简介
①N函数
N函数属于信息函数之列,它可以完成单元格对象的转换。就是将数值转换成数字,日期转换成序列值,TRUE转换成1,其它对象转换成0。其语法为:N(value),其中的value是待转换的单元格对象,它可以是数值、日期等数据,也可以是一个表达式。
②INT函数
该函数可以将一个数值向下取整为最接近的整数。语法为:INT(number),其中number是待取整的一个实数或表达式,用它将计算结果取整为“实工龄”非常方便。
2.计算公式
由于INT函数的固有特点,用N和INT函数构成的公式只能计算“实工龄”,具体形式为“=INT((N(A1-B1))/365)”。公式中的A1和B1分别存放工龄的截止和起始日期,“N(A1-B1)”计算工龄的序列