发布网友 发布时间:2022-04-20 20:45
共2个回答
热心网友 时间:2022-05-21 20:06
身份证号码有15位和18位之分,借助IF加LEN函数来判断。
如果单元格身份证号是15位的话,提取出生年月日=MID("身份证号",7,6)
如果单元格身份证号是18位的话,提取出生年月日=MID("身份证号",7,8)
在F2单元格输入=IF(LEN(A2)=18,MID(A2,7,8),IF(LEN(A2)=15,MID(A2,7,6),"错误"))
如果身份证号不是15位或者18位就显示错误。
热心网友 时间:2022-05-21 21:40
1
首先来看一下原始数据情况,a列为18位身份证号,需要将出生日期(即a2单元格中红色标注文本内容)提取到b2单元格。
2
由于在18位身份证号中出生日期的位置是固定的,即从第7位开始的8位数字是出生日期信息,因此,我们可以用mid函数将出生日期提取出来。
双击b2,输入公式:=mid(a2,7,8),
3
这样提取出来的日期还是文本格式,也不符合我们一般习惯的日期格式,因此我们用text()函数进一步加工。
将b2公式改成:=text(mid(a2,7,8),"#-00-00")。
4
经过上一步的公式计算,单元格返回的内容看起来是更符合我们习惯的日期格式,但其实内容仍是文本,无法直接参与其他公式运算。我们要进一步将它改成真正日期格式。
将b2的公式改成:=--text(mid(a2,7,8),"#-00-00")
5
通过上面的操作,单元格返回的内容是一个数字,我们需要通过设置单元格格式的方法改成日期格式显示。
如下图,选中单元格,鼠标右键,选择【设置单元格格式】,然后在【自定义】中输入代码:yyyy-mm-dd,然后【确定】即可。
6
15位的身份证号方法类似,由于出生日期位置也是固定的,所以把公式修改成:
=--text(mid(a3,7,6),"#-00-00")
7
如果既有18位也有15位的身份证号,可以将公式修改一下,同时适应这两种情况:
=--text((len(a2)=15)*19&mid(a2,7,6+(len(a2)=18)*2),"0-00-00")