奔牛网>office>Excel应用>>Excel中已知出生日期(入职日期)求年龄(工龄)DATEDIF函数应用简介
2012年02月14日

Excel中已知出生日期(入职日期)求年龄(工龄)DATEDIF函数应用简介

在用Excel进行人事管理时,经常会遇到从已知的出生日期(或入职日期)求年龄(或工龄)的问题,大多数人是通过年份直接相减求得的,这样,就会有一个问题:不足整年时月数会被忽略,这样的结果肯定是不够精确的,而且公式写出来也相当冗长。下面介绍的办法是利用Excel中的一个隐藏函数DATEDIF来计算的,这样的结果只要你需要,可以精确到以秒为单位,是不是太神奇了?别急,慢慢看——

      函数名称:DATEDIF

      语法
      DATEDIF(start_date,end_date,unit)

      start_date    起始日期,即出生日期(或入职日期)。可用的日期格式有:1990-3-14、1990/3/14、1990年3月14日,或直接用存储日期的单元格名称代替,但在直接输入具体日期时,要用半角双引号括起来。

      end_date     终止日期,即计算年龄或工龄的截止日期。日期格式要求同start_date,实际使用时常用TODAY()函数或NOW()函数获得当前日期或当前时间。

      unit    所需信息的返回类型。unit可选参数有:

         "Y"   时间段中的整年数。

         "M"   时间段中的整月数。

         "D"   时间段中的天数。 

         "YM"   start_date 与 end_date 日期中月数的差。忽略日期中的日和年。

         "YD"   start_date 与 end_date 日期中天数的差。忽略日期中的年。

         "MD"   start_date 与 end_date 日期中天数的差。忽略日期中的月和年。

      例一:张三的出生日期为1965-3-25,要计算他的实际年龄,可以用下面的公式:

         =DATEDIF(A1,TODAY(),"Y")      即可。

      例二:李四的入职时间为1982-5-20,要计算出他的工龄,可用公式:

         =DATEDIF(A1,TODAY(),"Y")&"年零"&DATEDIF(A1,TODAY(),"YM")&"个月"&DATEDIF(A1,TODAY(),"MD")&"天"

     如果要求0年0月不显示的话,上面的公式可以变化为:

        =TEXT(DATEDIF(A1,TODAY(),"Y"),"#年;;;")&TEXT(DATEDIF(A1,TODAY(),"YM"),"#月;;;")&DATEDIF(A1,TODAY(),"MD")&"天"

     增加一个合并公式:

       =TEXT(SUM(DATEDIF(A1,TODAY(),{"Y","YM","MD"})*10^{4,2,0}),"0年00个月00天")

     如果要求具体到某一时间点的话,start_date 和end_date分别按时间格式输入就可以了,如:

        =DATEDIF("1985-3-14 15:20:14",NOW(),"Y")

顶(4)
踩(0)
最新评论