首页
PPT模板
PPT版式
工具
专题
论文写作
首页
>
论坛
>
微软Office
>从身份证中提取出生年月的另类方法
从身份证中提取出生年月的另类方法
amwyq 发表于: 2008-2-28 20:21 来源: 扑奔PPT网
如果你不会使用函数从身份证中提取出生年月,教你一个新的手工提取的方法:
大家对 从身份证中提取出生年月的另类方法 的评论
ffaaffaa
发表于 2008-2-28 23:38:52
学习了
几天就成斑竹了 高手........:D
taison
发表于 2008-2-29 00:33:22
真厉害,我也学会了拉,谢谢哦
tchang
发表于 2008-2-29 16:26:28
哈哈~果然另类!很实用
shiqiang
发表于 2008-3-06 23:35:36
究竟如何提取呢,怎么看不明白呢?
ilvsoft
发表于 2008-3-10 10:10:00
^_^,高,实在是高。
wrhsj8888
发表于 2008-3-27 09:33:39
厉害,谢谢楼主的分享!:D
胡不归
发表于 2008-3-28 09:05:58
这个真的不错,谢谢了。
柒分kù牛
发表于 2008-3-28 22:20:26
不错的技巧,学习了~~
:D
jenny_ji
发表于 2008-4-01 16:22:20
学会这个技巧了
成就感很强呢
谢谢搂主的详细演示
沐湘泞
发表于 2008-4-04 03:00:15
牛 还是牛X啊 支持
tff8888
发表于 2008-4-13 11:44:03
真不错,比函数简单哦。
tcjm
发表于 2008-8-26 09:05:07
好聪明的方法啊,搂住太厉害了!!
seo4587
发表于 2008-8-26 09:09:16
小强啊!赞美!:$ :D :$
hefner
发表于 2008-12-11 17:18:07
我有更简单的办法哦,可以用MID函数更方便地实现
函数式为=MID(单元格,7,8)
这是个很实用的取字符串的函数,意思就是从目标字符串的第7位取起,返回8个字符(刚好是出生年月日的位数)
大家可以试下看看
popkpop
发表于 2008-12-12 14:36:25
刚刚发现这个网站能找到办公自动化的使用方法和技巧,真是太棒了,电脑用了这么多年,其实只会一些最简单的皮毛,今后我的多多学习了 ,这里的朋友真是高人哪
wojiyuzhou
发表于 2008-12-12 23:04:02
不错哦学习学习
slijuns
发表于 2009-4-18 12:41:31
真是高人啊。
wshcw
发表于 2009-5-21 23:52:44
提取合法、有效的身份证中有关信息(新解)2008-02-02 16:42有效性公式(适用于新输入身份证号):
=AND(OR(LEN(A1)={15,18}),ISNUMBER(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")>1828,--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")<TODAY())
性别(最短31字符):
=IF(ISODD(MID(A1,9,9)),"男","女")
=IF(ISEVEN(MID(A1,9,9)),"女","男")
=IF(MOD(MID(A2,15,3),2),"男","女")
考虑空值:
43字
=TEXT(MOD(0&MID(A2,15,3),2)-(A2=""),"男;;女")
42字
=TEXT(ISODD(0&MID(A2,9,9))-(A2=""),"男;;女")
出生日期:
=--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")
考虑空值:
=TEXT(TEXT((0&MID(A1,7,11))-500,"00-00-00,;!0"),"e-mm-dd;;;错误")
更完美的公式:
=TEXT(RIGHT(TEXT((0&MID(A4,7,11))-500,"1900-00-00,;!0"),10),"e-mm-dd;;;错误")
年龄:
=MOD(YEAR(NOW())-MID(A1,7,LEN(A1)/2-5),190)
或者:
=DATEDIF(TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00"),NOW(),"Y")
已有身份证的情况下,公式应加合法性,有效性判断,所以公式改为:
出生日期:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),"错误",IF(OR(1*TEXT
(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")))))
年龄:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),"错误",IF(OR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",MOD(YEAR(NOW())-MID(A1,7,LEN(A1)/2-5),190)))))
折算为天数:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00"))),"错误",IF(OR
(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"D")))))
身份证第18位(校验码)的计算方法
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2、将这17位数字和系数相乘的结果相加。
3、再用求和数除以11,看余数是多少?
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。
5、通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。
例如:某男性的身份证号码是53292719650626003X。我们要看看这个身份证是不是合法的身份证。
首先我们得出前17位的乘积和是189,然后用189除以11得出的结果是17+2/11,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的数字是x。所以,可以判定这是一个合格的身份证号码。
=IF(LEN(A1)=15,REPLACE(A1,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A1,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A1)
身份证中取日期的几个新公式:
42 =RIGHT(TEXT(MID(A1,7,11),"19#-00-00,"),10)
44 =--RIGHT(TEXT(MID(A1,7,11),"19#-00-00,"),10)
55 =--RIGHT(TEXT((19&MID(A1,7,LEN(A1)/2-1)),"#-00-00"),10)
57 =MOD(TEXT(MID(A1,LEN(A1)/2,6),"0-00-00")-3236,36525)+3236
58 =--TEXT(MOD((19&MID(A1,7,LEN(A1)/2-1)),19*10^8),"#-00-00")
69 =MOD(TEXT(MID(A1,LEN(A1)/2,6),"0-00-00")-TODAY(),36525)+TODAY()-36525
再补充:
=MID(TEXT(19&MID(A1,7,11),"000000-00-00,"),3,10)
=TEXT(MOD(19&INT(MID(A1,7,11)/10^3),19*10^8),"#-00-00")
=TEXT(INT(MID(A1,7,11)/10^3),"[<1000000]1900-00-00;#-00-00")
年龄:
=MOD(YEAR(NOW())-TEXT(MID(A1&"00",7,13),"0,,,"),190)
qqzhw
发表于 2009-5-22 00:47:01
简单易学,感谢楼主!学到新的技巧,很实用!
姚莹
发表于 2009-7-29 17:16:31
o ,是这样的啊,了解了解,谢谢楼主的演示
最新PPT模板
公司介绍ppt
述职报告ppt模板
职业生涯规划ppt
自我介绍ppt模板
毕业答辩ppt模板
年终总结ppt
时间轴ppt
二十大PPT
党课ppt
ppt怎么插入视频
最新贴子
Napkin AI:可以用AI将文本内容图像化的笔记产品
千笔AIPassPaper论文写作
接受各行业app定制开发
[求助]word文档如何实现指定部分保护功能?
请教高手: word画布有尺寸自动调整的功能...
求高手帮助
求解决——word中错误!未找到引用源。
【求助帖】visio使用时出现问题
visio使用常识
word表格第二行作为标题
求助!书籍排版双页预览时如何改变奇数页位...
请问在word中如何输入空格符号呢?
PPT热贴
网络设备类的Visio模板
史上最全EXCEL学习资料【珍藏版、强烈推荐】
Excel函数解释,超级好用
Word排版应用神童教程
[转帖]触手可及的 Word 2003 使用技巧
遇到一个奇怪的问题(删除线如何加粗)
项目/任务计划时间线模板
实用的VISIO跨职能流程图模板(从培训老师那拷.
《Excel实战技巧精粹》高清晰版电子书pdf下载
走出这个房间(EXCEL游戏)
几天就成斑竹了 高手........:D
:D
成就感很强呢
谢谢搂主的详细演示
函数式为=MID(单元格,7,8)
这是个很实用的取字符串的函数,意思就是从目标字符串的第7位取起,返回8个字符(刚好是出生年月日的位数)
大家可以试下看看
=AND(OR(LEN(A1)={15,18}),ISNUMBER(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")>1828,--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")<TODAY())
性别(最短31字符):
=IF(ISODD(MID(A1,9,9)),"男","女")
=IF(ISEVEN(MID(A1,9,9)),"女","男")
=IF(MOD(MID(A2,15,3),2),"男","女")
考虑空值:
43字
=TEXT(MOD(0&MID(A2,15,3),2)-(A2=""),"男;;女")
42字
=TEXT(ISODD(0&MID(A2,9,9))-(A2=""),"男;;女")
出生日期:
=--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")
考虑空值:
=TEXT(TEXT((0&MID(A1,7,11))-500,"00-00-00,;!0"),"e-mm-dd;;;错误")
更完美的公式:
=TEXT(RIGHT(TEXT((0&MID(A4,7,11))-500,"1900-00-00,;!0"),10),"e-mm-dd;;;错误")
年龄:
=MOD(YEAR(NOW())-MID(A1,7,LEN(A1)/2-5),190)
或者:
=DATEDIF(TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00"),NOW(),"Y")
已有身份证的情况下,公式应加合法性,有效性判断,所以公式改为:
出生日期:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),"错误",IF(OR(1*TEXT
(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",--TEXT(RIGHT(19&MID(A1,7,LEN(A1)/2-1),8),"#-00-00")))))
年龄:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")),"错误",IF(OR(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",MOD(YEAR(NOW())-MID(A1,7,LEN(A1)/2-5),190)))))
折算为天数:
=IF(A1="","",IF(AND(LEN(A1)<>{15,18}),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00"))),"错误",IF(OR
(1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")<1828,1*TEXT(MID(A1,7,LEN(A1)/2-1),"#-00-00")>TODAY()),"错误",DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"D")))))
身份证第18位(校验码)的计算方法
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2、将这17位数字和系数相乘的结果相加。
3、再用求和数除以11,看余数是多少?
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。
5、通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。
例如:某男性的身份证号码是53292719650626003X。我们要看看这个身份证是不是合法的身份证。
首先我们得出前17位的乘积和是189,然后用189除以11得出的结果是17+2/11,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的数字是x。所以,可以判定这是一个合格的身份证号码。
=IF(LEN(A1)=15,REPLACE(A1,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A1,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A1)
身份证中取日期的几个新公式:
42 =RIGHT(TEXT(MID(A1,7,11),"19#-00-00,"),10)
44 =--RIGHT(TEXT(MID(A1,7,11),"19#-00-00,"),10)
55 =--RIGHT(TEXT((19&MID(A1,7,LEN(A1)/2-1)),"#-00-00"),10)
57 =MOD(TEXT(MID(A1,LEN(A1)/2,6),"0-00-00")-3236,36525)+3236
58 =--TEXT(MOD((19&MID(A1,7,LEN(A1)/2-1)),19*10^8),"#-00-00")
69 =MOD(TEXT(MID(A1,LEN(A1)/2,6),"0-00-00")-TODAY(),36525)+TODAY()-36525
再补充:
=MID(TEXT(19&MID(A1,7,11),"000000-00-00,"),3,10)
=TEXT(MOD(19&INT(MID(A1,7,11)/10^3),19*10^8),"#-00-00")
=TEXT(INT(MID(A1,7,11)/10^3),"[<1000000]1900-00-00;#-00-00")
年龄:
=MOD(YEAR(NOW())-TEXT(MID(A1&"00",7,13),"0,,,"),190)