第二代身份证号码提取出生年月日的公式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、第二代身份证号码提取出生年月日的公式:
=MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)
注:A是列,1是行,&在数字键7的上方。
2、第二代身份证号码提取性别男、女的公式:
=IF(MOD(MID(A1,17,1),2),"男","女")
注:A是列,1是行。
3、excel用身份证号算年龄的工式
比如身份证号保存在a1单元格,那么可以使用=mid(a1,7,4)来取出出生年,再用当前年份减去这个就是年龄了。
4、提取身份证出生年月
="19"&MID(B1,9,2)&"年"&MID(B1,11,2)&"月"&MID(B1,13,2)&"日"
5、提取身份证年龄
=YEAR(NOW())-YEAR(IF(LEN(B1)=18,DATE(MID(B1,7,4),MID(B1,11,2),M ID(B1,13,2)),DATE(MID(B1,7,2),MID(B1,9,2),MID(B1,11,2))))
6、提取身份证性别
=IF(LEN(B1)=15,IF(MOD(MID(B1,15,1),2)=1,"男","女"),IF(MOD(MID(B1,17,1),2)=1,"男","女"))
7、公式内的“B1”代表的是输入身份证号码的单元格。
Excel自动提取身份证中生日和性别以及年龄
(注意:以B2单元格中是18位身份证号为例)
一、提取出生日期的输入公式
=MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日"
二、判断性别“男女”的输入公式
=IF(MID(B2,17,1)/2=TRUNC(MID(B2,17,1)/2),"女","男")
三、利用身份证号码求年龄
=IF(B2="","",DATEDIF(TEXT((LEN(B2)=15)*19&MID(B2,7,6+(LEN (B2)=18)*2),"#-00-00"),TODAY(),"y"))
八、计算年龄的公式?
datedif(开始日期,结束日期,"M")
九、用公式计算最大年龄?
max(D3:D21)
十、用公式计算25--35岁之间的人数?
=COUNTIFS(D3:D21,">"&25,D3:D21,"<"&35)
十一、计算25岁以下的人数?
=COUNTIF(D3:D21,">"&25)
十二、计算25岁以下人数的比例?
=COUNTIF(D3:D21,">"&25)/count(D3:D21)
十三、用excel做表输入年月日,可以变成例如1986-01-01的格式吗?能的话怎么变?
先选中单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入
e-mm-dd 确定
十四、1.自动录入性别:
“=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))”
if假如(len(C2)得到C2的字符长度等于15,[15时mod除以2的余数(取mid(C2单元格,第15个的,1个字符),除以2)],[不等于15条
件不成立时if(mod后面除以2的余数(取C2,第17个,的1个字符),除以2)]
所涉及函数:
len() 取单元格字符长度。
if 判断是或非if(条件,条件成立时,条件不成立时)
mod 取余数。
做用是将18位号第17位和15位的最后一位除以2得到的余数,等于0则为偶数,为女,否则奇数则为男。
假设号码为:
18位,310123************ 和15位 310123*********
2.自动录入年龄:=DATEDIF(TEXT(MID(G4,7,6+(LEN(G4)=18)*2),"#-00-00"),TODAY(),"y")
6+(LEN(G4)=18)*2) 作用是判断G4是否18位,若是则返回true,否则返回false,在计算中true是1,false是0。
当G4=18位身份证时true*2=2,mid(G4,7,6+2)成了mid(G4,7,8),若15位false*2=0则mid(G4,7,6+0)。
目的是18位取第7个8个19880502 ,15位取6个 880502 .
text(19880502,"#-00-00")是将结果转成日期格式。
datedif(出生日期,今天,"Y") datedif是从出生,今天,之间几年。
today() 今天日期
自动录入出生年月日=IF(G4<>"",TEXT((LEN(G4)=15)*19&MID(G4,7,6+(LEN(G4)=18)*2),"#-0 0-00")+0,)
LEN(G4)=15)*19 len(G4)等于15时true ,true*19=19。若len(G4)不等19时false ,false*19=0
这句的做用是年18位则0&1988得19880502,15为为19&880502同样得19880502。
MID(G4,7,6+(LEN(G4)=18)*2)和前面年龄一样,包括text(19880502,"#-00-00")以后就和年龄一样的。
年龄就是用这个公式先求出生年月再用datebif求today()之间差多少年"Y"
所有公式都很复杂,我把关键的函数例出来,搞懂了下面的函数就能看懂。
=text(文本,"#-00-00") 转换文本格式,效果如同设置单元格自定义格式。
=datedif(出生日期,今天,"Y") 计算两个日期的间隔,结果可以是 "Y"年, "M"月 "D"天(excel其它函数里找不到的,但能用)。
=today() 今天日期。
=mod(9,2) 取余数,9/2=4余1 ,取这个1 。
=mid(G4,7,6) 取G4单元格,第7个,连续6个字符。
=len(G4) 取得G4的字符长度,可知道这个单元格是15位还是18位的身份证。
=if() 判断是或非if(条件,条件成立时,条件不成立时)
另在公式里< 、>、 = 的结果都是逻缉值,是true与非false。
LEN(G4)=18 若结果是true 则 LEN(G4)=18)*2 计算过程为1*2 结果为 2
LEN(G4)=18 若结果是false 则 LEN(G4)=18)*2 计算过程为0*2