1、首先在电脑上用2007版excel软件打开目标文件,如图所示。
2、然后在目标列第一个单元格中输入公式:=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)),回车一下。
3、然后用鼠标左键双击该单元格右下角位置,如图所示。
4、格式填充到其它单元格后,即可达到提问者的要求。注意日期格式不是YYYY/MM/DD,可以在单元格格式界面设置。
1、电脑打开Excel表格。
2、输入公式=DATE(MID(B1,7,4),MID(B1,11,2),MID(B1,13,2))。
3、输入公式后,按回车键确定,就可以提前身份证中的生日年月日了。
4、下拉复制公式,即可批量提取身份证中的生日。
示例数据:
1、选中C列,设置C列的单元格格式为日期型的。
2、在C列建立辅助列并输入公式:=--TEXT(MID(B9,8,8),"0000-00-00")。公式解析:使用mid函数提取身份证中的生日信息,用text函数变成”0000-00-00“的格式,虽然使用text函数生成的格式是日期的样子,却不是真正的日期,用两个负号将其变成真正的数值,因为事先设置好了日期格式,所以,显示的日期是一个真正的日期,将单元格设置为常规可以看到是一个序列号。
=MID(A1,7,4)&"/"&MID(A1,11,2)&"/"&MID(A1,13,2)
将上面的A1换成身份证号码所在单元格地址
这是针对18位身份证号
如果是15位身份证号,基本方法相同,但年份只有两位数,可在公式前面加上 "19"& 或"20"&,要自动判断加哪一个,可用if()函数。
=IF(MID(A1,7,2)<50,"20"&MID(A1,7,2)&"/"&MID(A1,9,2)&"/"&MID(A1,11,2),"19"&MID(A1,7,2)&"/"&MID(A1,9,2)&"/"&MID(A1,11,2))
以上的判断以50为界,即小于50的算作20XX年,大于等于50的算作19XX,显然如果处理2050后或者1949年前出生的人会出错,但这没有办法,这也是新身份证用四位的原因。
考虑同时处理两种身份证号码,则可写成
=if(len(A1)=15,IF(MID(A1,7,2)<50,"20"&MID(A1,7,2)&"/"&MID(A1,9,2)&"/"&MID(A1,11,2),"19"&MID(A1,7,2)&"/"&MID(A1,9,2)&"/"&MID(A1,11,2)),if(len(a1)=18,MID(A1,7,4)&"/"&MID(A1,11,2)&"/"&MID(A1,13,2),"号码长度不对"))
注意这种方式得到的日期Excel不能识别为日期型数据!
要让Excel当日期,应用Date()函数,用 "/"& 这样的文本连接的方式只能是产生表面的日期格式的形式。
=IF(LEN(A9)=15,IF(MID(A9,7,2)<50,DATE("20"&MID(A9,7,2),MID(A9,9,2),MID(A9,11,2)),DATE("19"&MID(A9,7,2),MID(A9,9,2),MID(A9,11,2))),IF(LEN(A9)=18,DATE(MID(A9,7,4),MID(A9,11,2),MID(A9,13,2)),"号码长度不对"))
这种方式的显示格式是YYYY-M-D,要得到YYYY/MM/DD的效果,需设置数字格式(自定义)为yyyy/mm/dd
假设身份证在A1,那么使用如下公式就可以了:=MID(A1,7,4)&"/"&MID(A1,11,2)&"/"&MID(A1,13,2)