=2016-MId(I3,7,4)改成=2017-MId(I3,7,4)怎么就没显示?
答案:2 悬赏:0 手机版
解决时间 2021-01-27 04:10
- 提问者网友:别再叽里呱啦
- 2021-01-26 12:15
之前=2016-MID的时候就可以自动提取年龄,我改成2017就不好使了是怎么回事?
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-01-26 13:26
MId(I3,7,4)取I3身份证的年。
MId(I3,11,2),取I3身份证的月。
MId(I3,13,2)取I3身份证的日。
DATE(MId(I3,7,4),MId(I3,11,2),MId(I3,13,2))合成身份证的出身日期。
TODAY()取当前日期
DATEDIF(DATE(MId(I3,7,4),MId(I3,11,2),MId(I3,13,2)),TODAY(),"y") 身份证的出身日期与当前日期比较,得出相关年数。这个年数就是年龄。
MId(I3,11,2),取I3身份证的月。
MId(I3,13,2)取I3身份证的日。
DATE(MId(I3,7,4),MId(I3,11,2),MId(I3,13,2))合成身份证的出身日期。
TODAY()取当前日期
DATEDIF(DATE(MId(I3,7,4),MId(I3,11,2),MId(I3,13,2)),TODAY(),"y") 身份证的出身日期与当前日期比较,得出相关年数。这个年数就是年龄。
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-01-26 15:06
这个显示是根据身分证计算年龄的公式
=datedif(date(mid(i3,7,4),mid(i3,11,2),mid(i3,13,2)),today(),"y")
以这个为例
mid(i3,7,4)从号码的第7位开始提取四位也就是年1990
mid(i3,11,2)从号码的第11位开始提取俩位也就是月01
mid(i3,13,2)从号码的第13开始提取俩位也就是日01
由于提取出来的都是几个数据用
date函数把年月日组合成日期格式1991/01/01
用datedif计算时间差,后边的y的意思就是计算俩个时间 的年数差
today()就是显示今天的日期2012/05/27
所以俩个日期想差的年数是22年
希望能帮助 到你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯