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岁,这个公式是错了吗?求解啊!!!! 展开
 我来答
kapokgz
2013-11-19
知道答主
回答量:53
采纳率:33%
帮助的人:15.2万
展开全部
这个公式:Len()函数判断身份证号码的长度,如果大于15位,从第7开始取4个字符,然后和当前的年份year(now())作差,再加1,得到年龄。加不加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,那个自由些,弄这些函数毕竟有的时候太啰嗦。
ouyangff
2013-11-19 · TA获得超过6600个赞
知道大有可为答主
回答量:3477
采纳率:66%
帮助的人:4793万
展开全部
我给个公式你去试一试吧:

H6的格式【文本】存放身份证号码(注:15位或18位通用的哟!),在年龄单元格写公式:

=DATEDIF(TEXT(MID(H6,7,LEN(A1)/2-1),"0-00-00"),TODAY(),"Y")

公式可以下拖复制!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热情的橘子醬8D544
2013-11-19 · TA获得超过6.9万个赞
知道大有可为答主
回答量:2.6万
采纳率:57%
帮助的人:1.1亿
展开全部
这个公式并不科学,都是在年份加1.
用公式:
=IF(H6<>"",DATEDIF(TEXT(MID(H6,7,8),"#-00-00"),TODAY(),"y"),)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蚂蚁帝国
2013-11-19 · TA获得超过2005个赞
知道大有可为答主
回答量:2836
采纳率:100%
帮助的人:1892万
展开全部
你公式不是写着+1了么?
得出的结果肯定是大一岁
追问
这个公式为什么要得到大一岁的结果?原来也是要提取年龄才弄的这个公式啊。
追答
公式里写着+1所以就大1岁咯
YEAR(NOW())-MID(H6,7,4)+1对应举例就是2013-1986+1=28咯

或许你原来是要得到虚岁而现在要得到实岁吧,把+1去掉就行了
后面的那个也一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式