关于在excel中将身份证号码转换成生日的问题

来源:百度知道 编辑:UC知道 时间:2024/04/19 12:03:50
某人生日是1980年12月22日,老身份证号码是15位,新办的二代身份证号码是18位。

我在excel表格中的A1单元格输入老身份证号码,15位,在A2单元格输入新身份证号码,18位。

然后在B1单元格插入函数:=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2))

在B2单元格插入函数:=IF(LEN(A2)=18,MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2))

这样在B1单元格得到“80-12-22”;在B2单元格得到“1980-12-22”。

可是有个高手插入B1单元格的函数是:=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))

插入B2单元格的函数是:=IF(LEN(A2)=15,MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2))

这样在B1和B2得到的返回值和我插入的函数一样的。

我不明白,为什么在B2单位格他还是用“LEN(A2)=15”这样的写法?A2单元格里的身份证号码是18位的啊,为什么在函数中还用“LEN(A2)=15”??奇怪的是,他得到的答案竟然还是正确的!

其实你用的IF函数只用到了一半的功能,你看到高手的公式()内的逗号了没有,他用到了全部功能,意思就是如果LEN(A2)=15那么值就等于MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),不是的话就是MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)。