=TEXT(MID(A1,7,6+(LEN(A1=18)*2),"#00-00")+0什么意思,求详解 15
EXECL中,从身份证号码中提取出生年月日的公式=TEXT(MID(A1,7,6+(LEN(A1=18)*2),"#00-00")+0什么意思,求详解...
EXECL中,从身份证号码中提取出生年月日的公式=TEXT(MID(A1,7,6+(LEN(A1=18)*2),"#00-00")+0什么意思,求详解
展开
2个回答
展开全部
正确的公式应该是
=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”)+0
首先理解:LEN(A1)=18,意思是A1单元格中数据的长度=18;
其次理解:(LEN(A1)=18)*2,每个函数公式都有逻辑值,或者为真(TRUE),或者为假(FALSE),若为TRUE=1,若为FALSE=0;若A1单元格中数据长度=18为真,则:(LEN(A1)=18)*2=1*2=2;若A1单元格中数据长度=18为假,则:(LEN(A1)=18)*2=0*2=0;
再次理解=MID(A1,7,6+(LEN(A1)=18)*2),意思是提取A1单元格中数据,从第7个数据开始,提取6个数据(如果A1单元格中数据长度为15,即LEN(A1)=18为假=0,LEN(A1)=18)*2)=0*2=0,或者提取6+2个数据(如果A1单元格中数据长度为18,,即LEN(A1)=18为真=1,LEN(A1)=18)*2)=1*2=2);
接着理解=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”),这是一个文本函数,即把MID(A1,7,6+(LEN(A1)=18)*2)形成的数据转变成"#-00-00”,譬如如果是160717,则是2016-07-17;如果是20160717,则是2016-07-17;
最后理解=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”)+0,因为TEXT函数的返回值是一个文本数据,+0或者*1之后就可以把它变成一个日期型数据,虽然在我们看来结果并没有发生变化。
=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”)+0
首先理解:LEN(A1)=18,意思是A1单元格中数据的长度=18;
其次理解:(LEN(A1)=18)*2,每个函数公式都有逻辑值,或者为真(TRUE),或者为假(FALSE),若为TRUE=1,若为FALSE=0;若A1单元格中数据长度=18为真,则:(LEN(A1)=18)*2=1*2=2;若A1单元格中数据长度=18为假,则:(LEN(A1)=18)*2=0*2=0;
再次理解=MID(A1,7,6+(LEN(A1)=18)*2),意思是提取A1单元格中数据,从第7个数据开始,提取6个数据(如果A1单元格中数据长度为15,即LEN(A1)=18为假=0,LEN(A1)=18)*2)=0*2=0,或者提取6+2个数据(如果A1单元格中数据长度为18,,即LEN(A1)=18为真=1,LEN(A1)=18)*2)=1*2=2);
接着理解=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”),这是一个文本函数,即把MID(A1,7,6+(LEN(A1)=18)*2)形成的数据转变成"#-00-00”,譬如如果是160717,则是2016-07-17;如果是20160717,则是2016-07-17;
最后理解=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00”)+0,因为TEXT函数的返回值是一个文本数据,+0或者*1之后就可以把它变成一个日期型数据,虽然在我们看来结果并没有发生变化。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询