Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3376|回复: 10

[已解决]关于身份证号计算出生日

[复制链接]
发表于 2010-9-13 10:17 | 显示全部楼层 |阅读模式
RlNf4V4B.rar (1.51 KB, 下载次数: 1)
发表于 2010-9-13 10:25 | 显示全部楼层    本楼为最佳答案   

这个身份证是15位的

用这个公式

=IF($C$5="","",MID($C$5,7,2)&"年"&MID($C$5,9,2)*1&"月")

回复

使用道具 举报

发表于 2010-9-13 10:25 | 显示全部楼层

=TEXT(TEXT(MID(C5,7,6+(LEN(C5)=18)*2),"#-00-00"),"yyyy年m月d日")
回复

使用道具 举报

发表于 2010-9-13 10:26 | 显示全部楼层

按你的公式,结果肯定是这样。

=TEXT(IF(LEN(C5)=15,19,"")&MID(C5,7,6+2*(LEN(C5)=18)),"0-00-00")

回复

使用道具 举报

发表于 2010-9-13 10:27 | 显示全部楼层

IF($C$5="","",MID($C$5,7,2)&"年"&MID($C$5,9,2)*1&"月")

要显示年月的话就改成这样的

Mid就是从一个字符串中取子字符串,比如a="aabbcc",我们想取出"bb"就可以用Mid("aabbcc",3,2)
Mid有3个参数,第一参数是要从哪个字符串中取
第二个参数是指从第几个开始取
第三个参数是指取几个
例如:Mid("aabbcc",3,2)就是指从"aabbcc"的第3个字符开始,取2个字符,因此返回值为"bb". 
 0
回复

使用道具 举报

发表于 2010-9-13 10:59 | 显示全部楼层

=TEXT(TEXT(MID(C5,7,11)-500,"0-00-00,"),"e年m月")
回复

使用道具 举报

发表于 2010-9-13 11:02 | 显示全部楼层

如果要防止C5为空出错的话

=TEXT(TEXT((0&MID(C5,7,11))-500,"0-00-00,;"),"e年m月")

回复

使用道具 举报

发表于 2010-9-13 11:40 | 显示全部楼层

无论你是15位还是18位的身份证,用这个来取出生年月

=IF(C5="","",TEXT(RIGHT(19&MID(C5,7,LEN(C5)/2-3),6),"0000年00月"))

你原来的公式年取了4位,而身份证只有15位时,就把月份取到年份中把日取为月了。把你原公式改4为2也是可以针对15位的身份证的。

[此贴子已经被作者于2010-9-13 11:40:19编辑过]
回复

使用道具 举报

发表于 2010-9-13 11:44 | 显示全部楼层

出生年月日

=IF(C5="","",TEXT(RIGHT(19&MID(C5,7,LEN(C5)/2-3),8),"0000年00月00日"))

回复

使用道具 举报

 楼主| 发表于 2010-9-13 13:04 | 显示全部楼层

非常感谢各位的帮忙,每个公式都很好,可惜只能设置一个最佳,那我就设最先帮忙的吧

[em04]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 07:08 , Processed in 1.253647 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表