乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL表格里,输入个人身份证号码后,如何计算出年龄?谢谢...

EXCEL表格里,输入个人身份证号码后,如何计算出年龄?谢谢...

作者:乔山办公网日期:

返回目录:excel表格制作


假设A1是身份证,18位的:
B1输入:
=YEAR(TODAY())-MID(A1,7,4)

设A1文本格式的18位身份证号,B1输入如下公式,即可算出当天的年龄.
=YEAR(TODAY()-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))-1900&"岁"&MONTH(TODAY()-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))-1&"月"&DAY(TODAY()-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))&"天"

如要算指定日期的年龄,则设A1文本格式的18位身份证号,B1为指定日期,在C1输入公式如下:
=YEAR(B1-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))-1900&"岁"&MONTH(B1-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))-1&"月"&DAY(B1-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))&"天"
这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式e79fa5e98193e58685e5aeb9333
说明:公式中的B2是身份证号
1、根据身份证号码求性别: =IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月日: =IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))
3、根据身份证号码求年龄: =IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
其他通用公式:(新旧身份证号通用)
(1)、根据“身份证号”获得“年龄”A1为身份证号,B1中输入公式=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y")
(2)、根据出生“年-月-日”获得“年龄”B1为出生日期,C1中输入公式=INT((TODAY()-B1)/365)或者=DATEDIF(B1,TODAY(),"Y")
判断身份证格式是否正确:B1为身份证号,C1中输入公式=IF(OR(LEN(B1)=18,LEN(B1)=15),IF(LEN(B1)=18,IF(OR(MONTH(DATE(1*(MID(B1,7,4)),1*(MID(B1,11,2)),1*(MID(B1,13,2))))<>1*(MID(B1,11,2)),DAY(DATE(1*(MID(B1,7,4)),1*(MID(B1,11,2)),1*(MID(B1,13,2))))<>1*(MID(B1,13,2))),"月日错误",""),IF(LEN(B1)=15,IF(OR(MONTH(DATE(1*(MID(B1,7,2))+1900,1*(MID(B1,9,2)),1*(MID(B1,11,2))))<>1*(MID(B1,9,2)),DAY(DATE(1*(MID(B1,7,2))+1900,1*(MID(B1,9,2)),1*(MID(B1,11,2))))<>1*(MID(B1,11,2))),"月日错误",""))),"身份证位数不对")&IF(AND(LEN(B1)=18,1*MID(B1,7,4)>YEAR(TODAY())-6),"年份错误","")

以下是一位热心网友提供的通用公式:(很不错哦^_^)
假设C2为身份证号,输入公式
=IF(LEN(C2)=15,19&MID(C2,7,6),MID(C2,7,8)) 这是获得出生日期
=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女") 这是区分性别

假设身份证号在A1,且都是18位
在b1中输入或复制粘贴此公式
=text(mid(a1,7,8),"0-00-00")
在c1中输入或复制粘贴此公式zhidao
=datedif(b1,now(),"y")
选中B1:C1,下拉填充。

假设身份证号在A1,有15位和18位的
在b1中输入或复制粘贴此公式
=TEXT(IF(LEN(A1)=15,19,"")&MID(A1,7,8-(LEN(A1)=15)*2),"0-00-00")
在c1中输入或复制粘贴此公式
=datedif(b1,now(),"y")
选中B1:C1,下拉填充。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网