EXCEL中日期格式显示错误的问题

来源:百度知道 编辑:UC知道 时间:2024/04/29 06:17:22
郁闷啊郁闷!我从职工的身份证信息中用函数提取了出身日期,如果显示为19650621这样的格式,无法通过单元格格式的日期格式设置为1965-6-21,能不能不更改为1965/6/21这样就能显示成1965-6-21呢?还有,我用四位数显示成6506这样的话,通过单元格日期格式设置成功显示成1965年6月这样的格式,但是后来不知道怎么回事,再输入6506则单元格显示为1917年10月,编辑栏里显示1917-10-23,输入其它数值也会产生相应的变化,我的EXCEL的版本是2003,系统的日期时间设置都是当前的正确时间。请教高手,有什么办法解决这个问题呢?
二楼的回答是正确的,不过在得到二楼的答案前我找到了这样的公式,在此共享,以方便需要使用的人:=IF(LEN(B2)=18,MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日","19"&MID(B2,7,2)&"年"&MID(B2,9,2)&"月"&MID(B2,11,2)&"日")
公式解释:如果表达式LEN(B2)=18成立,说明此人的身份证号码是18位数,则此公式的值为MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日",而此表达式中MID(B2,7,4) 就是从身份证号码的第7位开始取4位数,得出此人的出生年份,MID(B2,11,2) 就是得出此人的出生月份,而MID(B2,13,2)则是此人的出生日期,这三个函数求得的值与“年”、“月”、“日”文字连接(当然也可以用日期的其它格式来表达,如用连字符“-”代替“年”、“月”、“日”也可以),这样就得出此人的出生日期。如果LEN(B2)=18不成立,说明此人的身份证号码是15位数,则此公式的值为"19"&MID(B2,7,2)&"年
"&MID(B2,9,2)&"月"&MID(B2,11,2)&"日"。如果不加"19"则即使将单元格日期格式设置为“

对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助使用可以完成。可以通过下述操作,完成形如1965-06-21样式的出生年月日自动提取:
假如身份证号数据在A1单元格,在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))
回车确认即可。

假设 19650621在 A1 单位格。

则 B1=CONCATENATE(LEFT(A1,4),"-",MID(A1,5,2),"-",RIGHT(A1,2))

就是你要求的1965-06-21

可以吗?你请试试!