请问在Excel中如何设公式用身份证号码来计算出生日期?

如题所述

Excel 表中用身份证号码中取其中的号码用:MID(文本,开始字符,所取字符数); 2.15 位身份证号从第 7 位到第 12 位是出生年月日,年份用的是 2 位数。 18 位身份证号从第 7 位到第 14 位是出生的年月日,年份用的是 4 位数。 从身份证号码中提取出表示出生年、月、日的数字,用文本函数 MID()可以达到目的。 MID()——从指定位置开始提取指定个数的字符(从左向右) 。 对一个身份证号码是 15 位或是 18 位进行判断,用逻辑判断函数 IF()和字符个数计算函数 LEN()辅助使用可以完成。综合上述分析,可以通过下述操作,完成形如 1978-12-24 样式的 出生年月日自动提取: 假如身份证号数据在 A1 单元格,在 B1 单元格中编辑公式 =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID (A1,11,2)&"-"&MID(A1,13,2)) 回车确认即可。 如果只要“年-月”格式,公式可以修改为 =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2),MID(A1,7,4)&"-"&MID(A1,11,2))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-23
设身份证号在a列。
年龄的公式为:
=year(today())-mid(a1,7,4)
性别的公式为:
=if(mod(mid(a1,17,1),2)=1,"男","女")
出生日期的公式为:
=mid(a1,11,2)&"月"&mid(a1,13,2)&"日"
第2个回答  2011-11-03
假设身份证号码在A1,输入=MID(A1,7,IF(LEN(A1)=18,8,6))追问

谢谢!

可有些身份证还是15位的呀,比较复杂

追答

15位也可以啊,或者用这个公式=TEXT(TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00"),"e-m-d")

第3个回答  2011-11-03
1 18位的
=right(left(A,14),8)
其中A是你身份证号码所在格
2 15位的
=right(left(a,12),6
相似回答