
EXCEL中提取身份证号中的年龄时 出现错误,是公式不对吗?
=IF(LEN(H6)>15,YEAR(NOW())-MID(H6,7,4)+1,YEAR(NOW())-(MID(H6,7,2)+1900)+1)是什么意思,谁能用通俗...
=IF(LEN(H6)>15,YEAR(NOW())-MID(H6,7,4)+1,YEAR(NOW())-(MID(H6,7,2)+1900)+1)是什么意思,谁能用通俗的语言给我解释一下?这是EXCEL里的一个公式,是用来根据身份证号直接算出年龄的,可是为什么得出的结果大一岁,比如说他是86年的吧,用这个公式得出的是28岁,但实际上来说的话,2013-1986=27,他应该是27岁,这个公式是错了吗?求解啊!!!!
展开
4个回答
展开全部
这个公式:Len()函数判断身份证号码的长度,如果大于15位,从第7开始取4个字符,然后和当前的年份year(now())作差,再加1,得到年龄。加不加1,看你需要了。
小或等15的号码,则:YEAR(NOW())-(MID(H6,7,2)+1900)+1计算,差不多的意思了。
你如果喜欢27的结果,直接在这个公式的结果后面减去1就可以了。
小或等15的号码,则:YEAR(NOW())-(MID(H6,7,2)+1900)+1计算,差不多的意思了。
你如果喜欢27的结果,直接在这个公式的结果后面减去1就可以了。
追问
正确结果不是应该就是27吗?他这个公式为什么要得28这样有原因吗?要是想得到27的结果 该怎么写这个公式
=IF(LEN(H6)>15,YEAR(NOW())-MID(H6,7,4),YEAR(NOW())-(MID(H6,7,2)+1900))这样吗?
追答
27是一般概念的实际年龄;
但也有28这种“虚”年龄的,有点自然数的概念,活了第几年了。
至于是不是这样,我不帮你去测试了。如果详细了解,就直接将这些函数研究下,这里面几个函数用处很多。不过我建议你学VBA,那个自由些,弄这些函数毕竟有的时候太啰嗦。
展开全部
我给个公式你去试一试吧:
H6的格式【文本】存放身份证号码(注:15位或18位通用的哟!),在年龄单元格写公式:
=DATEDIF(TEXT(MID(H6,7,LEN(A1)/2-1),"0-00-00"),TODAY(),"Y")
公式可以下拖复制!!!
H6的格式【文本】存放身份证号码(注:15位或18位通用的哟!),在年龄单元格写公式:
=DATEDIF(TEXT(MID(H6,7,LEN(A1)/2-1),"0-00-00"),TODAY(),"Y")
公式可以下拖复制!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个公式并不科学,都是在年份加1.
用公式:
=IF(H6<>"",DATEDIF(TEXT(MID(H6,7,8),"#-00-00"),TODAY(),"y"),)
用公式:
=IF(H6<>"",DATEDIF(TEXT(MID(H6,7,8),"#-00-00"),TODAY(),"y"),)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你公式不是写着+1了么?
得出的结果肯定是大一岁
得出的结果肯定是大一岁
追问
这个公式为什么要得到大一岁的结果?原来也是要提取年龄才弄的这个公式啊。
追答
公式里写着+1所以就大1岁咯
YEAR(NOW())-MID(H6,7,4)+1对应举例就是2013-1986+1=28咯
或许你原来是要得到虚岁而现在要得到实岁吧,把+1去掉就行了
后面的那个也一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询