Excel用公式计算年龄

  • 错误公式
  • 直接用出生年月日
    • 出生年月表示为xx/xx/xx的格式
    • 出生年月表示为xx-xx-xx的格式
    • 出生年月表示为纯数字的
    • 利用身份证号计算年龄
  • 总结

错误公式

无论是

	“=YEAR(TODAY())-YEAR(B2)”

还是

	“=INT((TODAY()-B2)/365)”

都是错误的,第一种是只要过了12月31日进入1月1日,就会自动加1岁;第二种会四舍五入,超过半年会自动算作1年,也就是加1岁。

直接用出生年月日

利用DATEDIF公式

出生年月表示为xx/xx/xx的格式

用 =DATEDIF(A2,NOW(),“Y”) 公式,先在B2单元格这里输入公式:=DATEDIF(A2,NOW(),“Y”)再按回车键;在B2单元格即显出年龄,如下图所示:

出生年月表示为xx-xx-xx的格式

用 =DATEDIF(D2,TODAY(),“Y”) 公式。在E2单元格中输入函数公式:=DATEDIF(D2,TODAY(),“Y”)再按回车键; E2单元格即显出年龄,如下图所示:

出生年月表示为纯数字的

用 =DATEDIF(TEXT(G2,“0-00-00”),TODAY(),“Y”) 公式。先用TEXT函数把纯数字转化成日期格式,再利用DATEDIF函数。在H2单元格中输入函数公式:=DATEDIF(TEXT(G2,“0-00-00”),TODAY(),“Y”)再按车键; h2单元格即显出年龄,如下图所示:

利用身份证号计算年龄

这次需要利用MID函数,将身份证中的生日摘取出来,然后利用之前的方法,计算出年龄。


最终公式为:=DATEDIF(TEXT(MID(A2,7,8),“0-00-00”),TODAY(),“Y”)

总结

分别利用了 DATEDIF()、TEXT()、MID()函数。
如果源单元格为空值或非可计算的值,会导致计算错误,出现"#VALUE!"。此时需要使用IFERROR()函数。
IFERROR(值,“错误值”)
例:=IFERROR(DATEDIF(TEXT(MID(G3,7,8),“0-00-00”),TODAY(),“y”),"-")
如果计算错误则显示"-",如果计算结果正常,则正常显示年龄。

更多推荐

Excel用公式计算年龄