第二代身份证号码提取出生年月日的公式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档