excel
text函数
len函数
mid函数
如图所示,我分别列举了15位和18位身份证,下文将从这3个身份证号中提取各自对应的出生年月日
在D6单元格中输入=TEXT((LEN(C6)=15)*19&MID(C6,7,6+(LEN(C6)=18)*2),'0000-00-00')公式,即可实现身份证中年月日的提取。接下来将为大家详细解读该公式
首先是=(LEN(C6)=15)*19的含义,表示的是判断C6单元格中字符数是否等于15,是的话为true,即1,否的话为false,即0,然后在乘以19,如图所示,15位的身份证运行该公式得到19的值,18位的身份证运行该公式得到0的值
接着是=MID(C6,7,6+(LEN(C6)=18)*2)的含义,该公式表示在C6单元格中提取第7位数字开始的6+(LEN(C6)=18)*2位数字,其中6+(LEN(C6)=18)*2的含义与上一步骤类似,15位的身份证运行该公式得到6的值,18位的身份证运行该公式得到8的值,故最后所得值如图所示
最后是=(LEN(C6)=15)*19&MID(C6,7,6+(LEN(C6)=18)*2)的含义,&是链接符的意思,根据上两步所得结果,通过连接符可以得到如图所示结果
最终回归于=TEXT((LEN(C6)=15)*19&MID(C6,7,6+(LEN(C6)=18)*2),'0000-00-00'),通过用text函数我们可以将上一步所得数值输出为年月日的格式,这时也许大家会疑惑第一位的0去哪了,关于这个问题大家可以参考下本人写的关于text函数的用法说明:https://jingyan.baidu.com/article/455a995069f063a167277874.html
text函数
len函数
mid函数
如果您觉得该经验对您有用,请点击页面左侧的的【大拇指】或右侧的【分享】和【☆收藏】给我一个支持把,谢谢。
如果有不明白的地方欢迎留言,我会尽快给大家答疑