excel怎么从身份证号中提取出生日期?
函数公式 :
C2单元格输入公式:=--TEXT(MID(B2,7,8),"0-00-00"),向下复制填充。一次性提取所有身份证号码对应的出生日期。
温馨提示:
如果输入公式后,公式结果变成了28098,别忘了把单元格格式设置为日期格式。
公式解释:
首先看MID函数:MID(B2,7,8)的意思就是从B2单元格的第7位开始截取,截取的字符长度是8位,得到的计算结果就是"19761204"。
接下来用TEXT函数,将MID函数得到的字符串变成日期的模样,TEXT(MID(B2,7,8),"0-00-00")将文本字符串"19761204"从右侧的第二位和第四位之间各加上一个短横线,结果变成"1976-12-04"。
经过text函数乔装打扮,文本字符串"19761204"就有了日期的样子了,但是这样的结果仅仅是掩人耳目,还不是真正的日期格式。Excel中凡是经过TEXT、MID、LEFT、RIGHT等函数计算后得出的数值是文本格式,一般情况下,不能参与后续的计算处理。
TEXT函数前加了两个短横线是什么意思呢?就是把上面text函数得到的文本型的日期格式进行减负运算,也就是--负负得正,通过运算,将文本格式的数值变成真正的日期格式。当然将两个短横线换成1*(1乘以),也可以实现将文本格式向数值格式的转换。