这个参数主要用于MID(B1,7,LEN(B1)*2/3-4)这个函数内
指从从B1身份证号码第7位起取LEN(B1)*2/3-4个字符
LEN(B1)*2/3-4主要设计是通用于15位和18位号码
当B1身份证号码为15位时
LEN(B1)得到15
然后15乘以2除以3再减4,等于6
从15位身份证中从第七位起取6位
如442122880921522 取出来就是880921
当B1身份证号码为18位时
LEN(B1)得到18
然后18乘以2除以3再减4,等于8
从15位身份证中从第七位起取8位
如44212219880921522X 取出来就是19880921
此公式可直接优化至最短
=MID(B1,7,LEN(B1)/2-1)
提取出生年年龄最短公式
=datedif(text(mid(b1,7,len(b1)/2-1),"#-00-00"),now(),"y")
LEN(B1)是B1这个单元格内文本字符串的个数 得到一个数 LEN(B1)*2/3-4 用得到的这个数乘以2除以3再减去4 比如这时候得到是数字是A MID(B1,7,A) 意思就是B1单元格的文本字符串 从第七位开始 往后截取A位数 TEXT是个文本函数 TEXT(MID(B1,7,LEN(B1)*2/3-4),"00-00-00"), 就是把B1从第七位截取后的数字的格式转换为“00-00-00” DATEIF 函数 是计算两个日期的差值 DATEDIF(TEXT(MID(B1,7,LEN(B1)*2/3-4),"00-00-00"),Today(),"Y") 就是计算TEXT转换后的日期跟today()的差值 “Y” 是取两个日期差值中的年份 这样解释很空泛 结合你的实例说 更能让你理解 不知道你听懂了没
1、整个公式是通过个人身份证来计算年龄的。
2、由于身份证有15位和18位两种。LEN(B1)*2/3-4)的作用是不管15位还是18位,公式都正确取到出生年月日(15位的身份证取到年的后两位及月日各两位共6位数,18位的则取四位年及月日各两位共8位数)。
B1是身份证号码。
LEN()函数计算身份证号码长度,有15位和18位。
LEN(B1)*2/3-4计算结果,15位身份证为6位出生年月日数据,18位身份证为8位出生年月日数据。
LEN 是获取某个单元格数据的位数
LEN(B1),如果B1=123,结果是3,表示B1有3位数。