EXCEL表格内如何从一列身份证号码中提取出生年月日并改为yy-mm-dd格式填充到另一空白列

如题所述

=--TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")

出来结果是数字,格式 设置成日期 即可

15位  和18位 身份证通用 公式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-06

假设身份证在A1,那么使用如下公式就可以了:=MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)

追问

我是在一张已有数据的表格内作修改,公式放进去了但体现出来的结果却是从第6位数字开始,你知道这是为什么吗

追答

如果你输入身份证时在前面加了“‘ ”的符号的话,他数字就是从第六位开始的,这时只需要将公式里面的7/11/13依次改为8,12,14即可

本回答被提问者采纳
第2个回答  2016-12-06
公式:=--TEXT(MID(A2,8,8),"0000-00-00")
方法步骤:
1、选中C列,设置C列的单元格格式为日期型的。
2、在C列建立辅助列并输入公式:=--TEXT(MID(A2,8,8),"0000-00-00")。公式解析:使用mid函数提取身份证中的生日信息,用text函数变成”0000-00-00“的格式,虽然使用text函数生成的格式是日期的样子,却不是真正的日期,用两个负号将其变成真正的数值,因为事先设置好了日期格式,所以,显示的日期是一个真正的日期,将单元格设置为常规可以看到是一个序列号。
第3个回答  2016-12-06

=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,9,2)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))

第4个回答  2016-12-06
最简单的做法:
=TEXT(MID(A1,7,8),"0000-00-00")
相似回答