作业帮 > 综合 > 作业

=DATEDIF(TEXT(MID(A1,7,INT(LEN(A1)/2-1)),"#-00-00"),"2010-12

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 00:04:46
=DATEDIF(TEXT(MID(A1,7,INT(LEN(A1)/2-1)),"#-00-00"),"2010-12-31",请详细说明为谢!
这个公式整体的意思就是根据身份证号码判断出生日期到2010-12-31有多少年.
MID(A1,7,INT(LEN(A1)/2-1)) 这个部分是取身份证第7位开始,15位身份证取6位,18位身份证取8位
TEXT(MID(A1,7,INT(LEN(A1)/2-1)),"#-00-00") 这个公式用来把上面取到的6位数或8位数转换为excel的日期形式
DATEDIF(TEXT(MID(A1,7,INT(LEN(A1)/2-1)),"#-00-00"),"2010-12-31","Y")这个公式datedif就是求从开始日期到结束日期经过了多少年,格式 datedif(开始日期,结束日期,"y")
再问: 谢谢你的回答。我最难理解的就是MID(A1,7,INT(LEN(A1)/2-1)) 怎样在两种身份证中取位,能否再把其中的函数的具体意思及参数设置给我讲一下?小人将感激不尽。
再答: MID(A1,7,INT(LEN(A1)/2-1)) 公式中len(a1)是计算身份证号码的位数,举例 410210880125036 len(a1)得到15, 410210198801250365 len(a1)得到18 然后通过int(len(a1)/2-1)得到取多少位 对于15位的身份证 int(15/2-1)=int(7.5-1)=int(6.5)=6 取6位 对于18位的身份证 int(18/2-1)=int(9-1)=int(8)=8 取8位 最后通过MID(A1,7,INT(LEN(A1)/2-1))来取身份证第7位开始的6位或8位 410210880125036 mid(a1,7,6)="880125" 410210198801250365 mid(a1,7,8)="19880125" 这样能够明白了吗