如何使用EXCEL公式:使用身份證號碼算實際年齡。 匿名使用者 1級 2010-11-16 回答

如果身份證號寫在A1中,則公式可以寫成:

=DATEDIF(TEXT(IF(LEN(A1)=15,19&MID(A1,7,6),MID(A1,7,8)),“0-00-00”),TODAY(),“Y”)

首先要確認的是身份證號的位數,15位的身份證號生日是第7位開始的6位(年份碼兩位,完整年份應在前面加上“19”),而18位的身份證號生日是第7位開始的8位(年份碼四位),所以公式裡會有IF(LEN(A1)=15,19&MID(A1,7,6),MID(A1,7,8))這樣的一段來取出具體生日。

其次就是對取出的生日進行“格式化”,也就是轉換成EXCEL能識別的日期格式,所以用到了TEXT(……,“0-00-00”)。

最後就是計算了,這裡的TODAY()是指取得今天日期的意思,然後是用到了EXCEL中的隱藏函式DATEDIF,其作用是將函數里兩個日期相減,按指定的方式輸出結果,這個公式的DATEDIF(……,TODAY(),“Y”)中,第一個逗號前是前面說到取出的生日,逗號後是TODAY今天的日期,再後面的“Y”代表的是要得出年份。

這裡值得一提的是,DATEDIF函式在使用時,兩個日期的輸入需要按照“先小後大”的順序,否則函式會報錯的。

如何使用EXCEL公式:使用身份證號碼算實際年齡。 匿名使用者 1級 2010-11-16 回答

=IF(LEN(D12)=15,2010-(CONCATENATE(19,MID(D12,7,2))),2010-(CONCATENATE(MID(D12,7,4))))

將公式複製貼上,單元格根據實際情況自己改一下。

如何使用EXCEL公式:使用身份證號碼算實際年齡。 匿名使用者 1級 2010-11-16 回答

=YEAR(TODAY())-VALUE(MID(A1,7,4))

如何使用EXCEL公式:使用身份證號碼算實際年齡。 夢魘 1級 2016-07-07 回答

datedif是計算兩個日期之間差值的函式,可以以年為單位也可以月或日為單位。此函式包含三個引數,第一和第二個引數為日期型資料,第三個引數說明了兩個日期差值的單位。text函式生成第一個日期,是從身份證號碼中獲得的。*19與*2是為了相容15位與18位兩種不同的身份證號碼。today函式獲得當天日期作為第二個日期資料。第三個引數‘y’是確定了兩個日期差值以年為單位,同時這個datedif函式計算的是週歲。

如何使用EXCEL公式:使用身份證號碼算實際年齡。 匿名使用者 1級 2010-11-16 回答

提取出生日然後和現在的日期計算就可以得出年齡了

函式可以用mid

如何使用EXCEL公式:使用身份證號碼算實際年齡。 匿名使用者 1級 2010-11-16 回答

=datedif(text(if(len(a1)=18,mid(7,8),19&mid(a1,7,6),“0000-00-00”),today(),“y”) ,假設你的身份證在a1