大家好,今天元宵节,祝大家元宵节快乐。今天我要和大家分享的是“不一样的根据身份证提取出生日期”,为什么不一样呢,有2点,第1点,年月日之间用点号分开,由于默认点是小数点的意思,你用text函数第2参数“0.00.00”,达不到所要的效果,不信你自己可以测试下,而我用是用'0!.00!.00';第2点不一样,身份证有15位和18位的
一、动画效果 
二、公式: =TEXT(RIGHT(19&MID(A2,7,6 (LEN(A2)=18)*2),8),'0!.00!.00') 
三、公式解解释 身份证有18位有15位之分,当然现在我们一般应该见不到15位的身份证,但是这个公式我还是考虑15位的进去 15位的身份证从7位开始,没有19,直接就是两位年数,两个月数,两位日数,共6位 18位的身份证从7位开始,4位年数,两个月数,两位日数,共8位 =6 (LEN(A2)=18)*2)这个公式是什么意思呢?,这个其实很有意思,首先大家要理解Ttrue=1;False=0,如果身份证的长度等于18,返回true,那么1*2=2 而6 2=8就提取8位,反之不是等于18位那么0*2 6=6,那么就提6位 =MID(A2,7,6 (LEN(A2)=18)*2)这个公式实现15位的从第7位开始提取6位,18位的身份证从7位开始提取8位 =19&MID(A2,7,6 (LEN(A2)=18)*2)为什么前面还要连接19呢?,因为15位的没有19,所以没有就要补,当然有的朋友会说,你这样18位不是多了一个19,你说的没有错,确实是多了 =RIGHT(19&MID(A2,7,6 (LEN(A2)=18)*2),8),由于18位多了19,然后我们从右边提取8位,这样就解决这个问题了,多了那个19就提取不到了。 =TEXT(RIGHT(19&MID(A2,7,6 (LEN(A2)=18)*2),8),'0!.00!.00')这个公式外面嵌套了一个text,它的第2参数用了'0!.00!.00',刚开始我在上面也啰嗦过,为什么不直接用“0.00.00”,因为默认把点当成了小数点,所以我们要在小数点的前面加一个!,强制显示点。
下面打2个广告: 明天白天(2017-2-12)开函初班早上9点到11点上1节课,下午14点点到16点半上一节课,一天共上二节课 明天晚上(2017-2-12)开函中班,晚上8点到10点 报过名的准备好听课,想学的抓紧时间报名,直接联系我,我的微信号:18664243619 好了,今天我们就聊到这里,大家再见。
|