两个excel 身份证号转换年龄和判断是不是满十八岁的公式 请高手帮忙看下哪里有错 有时可用有时会出错是为什么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个excel 身份证号转换年龄和判断是不是满十八岁的公式 请高手帮忙看下哪里有错 有时可用有时会出错是为什么相关的知识,希望对你有一定的参考价值。
年龄 =INT((DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))-DATE(MID(D3,7,4),MID(D3,11,2),MID(D3,13,2)))/365)
是否满十八 =IF(DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))-DATE(MID(D3,7,4),MID(D3,11,2),MID(D3,13,2))-1900>18,"是","否")
不带直接复制粘贴网上的 我会搜索 主要是求解释
=IF(DATEDIF(DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2)),"2019-09-18","y")>=18,"已满18岁","未满18岁")
式中C2为身份证号码所在单元格。"2019-09-18"为需要计算的日期,这个不同于TODAY,你可以任意输入一个日期。“已满18岁”和“未满18岁”可以自己更改文本内容。
如果需要单独提取出生日期,就是=DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2)
参考技术B 你的公式并不好且除365天也并不完全,如果366天的怎么办?直接用datedif就可以了年龄
=datedif(text(mid(d3,7,len(d3)/2-1),"0-00-00"),today(),"y")
是否满十八
=if(datedif(text(mid(d3,7,len(d3)/2-1),"0-00-00"),today(),"y")>17,"是","否")
这里的D3中的身份证不管是15位或18位,都成立追问
现在我们这边身份证反正全都是18位的了 最后是Y 只算年份 那你的那个17就不能是周岁吧 会不会不精确呢
追答都是18位公式可以简化
=datedif(text(mid(d3,7,8),"0-00-00"),today(),"y")
=if(datedif(text(mid(d3,7,8),"0-00-00"),today(),"y")>17,"是","否")
这个y并不是指年份对减,而是精确到日,正宗的周岁
以18位身份证号码为例,假定数据在D3单元格:
年龄(按出生当月判断,可减少实际年龄误差):
=DATEDIF(TEXT(MID(D3,7,8),"0-00-00"),TODAY(),"M")/12
是否满十八(与上面相同,按出生当月判断,可减少实际年龄误差):
=IF(DATEDIF(TEXT(MID(D3,7,8),"0-00-00"),TODAY(),"M")/12>=18,"是","否")
以上公式可适用于wps表格/excel,已验证。追问
我想知道 我那个有没有错呢 还有那个18能否使周岁
追答年龄的公式中:
DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())) 处理今日的日期序数;
DATE(MID(D3,7,4),MID(D3,11,2),MID(D3,13,2))) 处理身份证的年月日转换并获得日期序数;
/365 完成对日期序数-》转换成年龄的计算;
INT()函数对年龄取整。
是否满十八的公式中增加的部分:
-1990 此参数有误,无法适用所有的数据,无法准确判断是否年满18岁。
以上是关于两个excel 身份证号转换年龄和判断是不是满十八岁的公式 请高手帮忙看下哪里有错 有时可用有时会出错是为什么的主要内容,如果未能解决你的问题,请参考以下文章