(资料图)
1、这个公式在计算15位身份证号码时,会出问题,甚至产生负数出来,但18位身份证可以使用。
2、可把公式稍作修改:=DATEDIF(TEXT(IF(LEN(C2)=18,MID(C2,7,8),"19"&MID(C2,7,6)),"0-00-00"),TODAY(),"Y")原来写公式的人偷了个懒,只能在2000年以前计算出年龄,在2000以后计算15位号会出错。
3、mid是取中间文本的函数,其中,c2是源文本,7是开始取文本的位置,8或6是取文本的长度。
4、len是取文本的长度,18位身份证返回18,15位身份证返回15if(条件,条件成立时返回值,条件不成立时返回值),用以判断身份证位数text(文本内容,文本格式)将文本格式的日期数据,转换为日期格式today()就是今天的日期datedif(起始日期,结束日期,计算方式) 取年龄时,计算方式为年,参数为"Y"len(c2)/2-1是先算前面的len(c2)/2,然后再减1。
5、这个运算其实是一个取巧,就是让18位计算完后得8,15位计算完得6,仅此而已。
6、其作用用于取出日期的计算范围。
本文到此分享完毕,希望对大家有所帮助。
标签: