位置:首页 > 软件操作教程 > 办公软件 > Excel > 问题详情

在Excel中根据身份证号码自动生成出生日期和性别的方法

提问人:周丽平发布时间:2021-09-02

根据身份证号码自动生成生日的方法

方法一:

15位身份证号:410881790605552 输出出生日期1979/06/05

=CONCATENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))

公式解释:

a.MID(E2,7,2)为在身份证号码中获取表示年份的数字的字符串

b. MID(E2,9,2) 为在身份证号码中获取表示月份的数字的字符串

c. MID(E2,11,2) 为在身份证号码中获取表示日期的数字的字符串

d.CONCATENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))目的就是将多个字符串合并在一起显示。

18位身份证号:410881197906055521 输出出生日期1979/06/05

=CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))

方法二:

15位身份证号:410881790605552 出生日期790605

=IF(LEN(E3)=15,MID(E3,7,6),MID(E3,9,6))

18位身份证号:410881197906055521 出生日期790605

=IF(LEN(E3)=15,MID(E3,7,6),MID(E3,9,6))

公式解释:

LEN(E2)=15:检查E2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。

MID(E2,7,6):从E2单元格中字符串的第7位开始提取6位数字,本例中表示提取15位身份证号码的第7、8、9、10、11、12位数字。

MID(E2,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位数字。

根据身份证号码自动生成性别的方法

方法一:

在C列输入身份证号,在B列填写性别,可以在B2单元格中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:

LEN(C2)=15:检查身份证号码的长度是否是15位。

MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。

MID(C2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。

MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。

IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。

15位身份证,看最后一位,奇男偶女;18位的,看第17位数,也是奇男偶女。

方法二:

如果你是想在Excel表格中,从输入的身份证号码内让系统自动提取性别,可以输入以下公式:

=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))

公式内的“C2”代表的是输入身份证号码的单元格。

继续查找其他问题的答案?

回复(0)
返回顶部