excel输入身份证号自动显示年龄、性别

2024-12-17 15:24:34
推荐回答(3个)
回答1:

在Excel中根据身份证号码自动生成性别、出生日期和年龄
【身份证号判断性别的方法】 18位的看倒数第二位,奇男偶女; 15位的看倒数第一位,奇男偶女。
在Excel中根据身份证号码自动生成出生生日期和性别 下文说明以本图例为例,即“性别在B列,年龄在C列,出生日期在D列,身份证号码在E列” 新建的Excel表是常规格式,但身份证列应设置为文本格式
根据身份证号码自动生成性别:
方法一: 在E列输入身份证号,在B列填写性别,可以在B2单元格中输入公式 “=IF(MOD(IF(LEN(E2)=15,MID(E2,15,1),MID(E2,17,1)),2)=1,"男","女")”,其中: LEN(E2)=15:检查身份证号码的长度是否是15位。 MID(E2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。 MID(E2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。 MOD(IF(LEN(E2)=15,MID(E2,15,1),MID(E2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。 IF(MOD(IF(LEN(E2)=15,MID(E2,15,1),MID(E2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么 Excel学习教程Excel介绍Excel教程Excel表格Excel函数Excel图表B2单元格显示为“男”,否则显示为“女”。 15位身份证,看最后一位,奇男偶女;18位的,看第17位数,也是奇男偶女。
方法二: 如果你是想在Excel表格中,从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(E2)=15,IF(MOD(MID(E2,15,1),2)=1,"男","女"),IF(MOD(MID(E2,17,1),2)=1,"男","女")) 公式内的“E2”代表的是输入身份证号码的单元格。
根据身份证号码自动生成出生日期
格式一: 18位身份证号:410881197906055521 输出出生日期1979/06/05 =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2)) 15位身份证号:410881790605552 输出出生日期1979/06/05 =CONCATENATE("19",MID(E6,7,2),"/",MID(E6,9,2),"/",MID(E6,11,2)) 公式解释: a. MID(E6,7,2)为在身份证号码中获取表示年份的数字的字符串 b. MID(E6,9,2) 为在身份证号码中获取表示月份的数字的字符串 c. MID(E6,11,2) 为在身份证号码中获取表示日期的数字的字符串 d. CONCATENATE("19",MID(E6,7,2),"/",MID(E6,9,2),"/",MID(E6,11,2))目的就是将多个字符串合并在一起显示。
格式二: 15位身份证号:410881790605552 出生日期790605 =IF(LEN(E6)=15,MID(E6,7,6),MID(E6,9,6)) 18位身份证号:410881197906055521 出生日期790605 =IF(LEN(E2)=15,MID(E2,7,6),MID(E2,9,6)) 公式解释: LEN(E6)=15:检查E6单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。 MID(E6,7,6):从E2单元格中字符串的第7位开始提取6位数字,本例中表示提取15位身份证号码的第7、8、9、10、11、12位数字。 MID(E6,9,6):从C2单元格中字符串的第9位开始提取6位数字,本例中表示提取18位身份证号码的第9、10、11、12、13、14位数字。 =IF(LEN(E2)=15,MID(E2,7,6),MID(E2,9,6)):IF是一个逻辑判断函数,表示如果额E2单元格是15位,则提取第7位开始的6位数字,如果不是15位则提取自第9位开始的6位数字。
根据出生日期计算年龄
D行为出生日期列,双击年龄所在列的第二行,然后输入下面公式,然后按ENTER键;再利用下拉方式将公式复制到该列的其他行中即可 =YEAR(NOW())-YEAR(D3)

回答2:

1、根据身份证号码求性别: =IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))

2、根据身份证号码求出生年月日: =IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))

3、根据身份证号码求年龄: =IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))

只需将上述单元格内的B2 改为E4即可

回答3:

现在应该没有15位的了.
D4输入=IF(MOD((MID(EF4,17,1),2)=0,"女","男")
C4输入=DATEDIF(TEXT(MID(EF4,7,8),"#-00-00"),TODAY(),"y")