怎样根据身份证号码判断男女性别?
身份证号码中包含很多个人信息,性别就是其中之一,由位于第17位数字的奇偶决定,奇数则为男性,偶数则为女性,明白这一点,借助工作表之类的办公软件,也不难做出判断和提取。
⒈首先,在工作表中,把身份证号码以文本型或称字符型输入,输入办法是在数字前加打单引号,或者先把该列的数据类型设置为“文本型”。假设已经以字符形式输入到C列。
⒉接着,通过MID()函数取出第17位数字,用MOD()函数对其求被2所除所得的余数,再用IF()函数对所得余数是否为
1、即是否为奇数进行判断,如果为1,则为“男”,否则为“女”。如例所示,我们在D2单元格中的表达式为:=IF(MOD(MID(C2,17,1),2),“男”,“女”) ⒊输入上述表达式后,按“Enter”键,所对应的性别就自动填入D2单元格,如图所示。
⒋正确产生一个人的性别之后,就可以利用拖放“填充柄”的办法,轻而易举地产生所有人员的性别了。
Excel中根据身份证号码自动填出生日期、性别、计算年龄
出生日期:F2=DATE(MIDB(E2,7,4),MIDB(E2,11,2),MIDB(E2,13,2)) 自动录入男女:=IF(MOD((IF(LEN(e2)=18,MID(e2,17,1),MID(e2,15,1))),2)=0,“女”,“男”) 计算年龄:=IF(LEN(B2)=15,109-VALUE(MID(B2,7,2)),if(LEN(B2)=18,2009-VALUE(MID(B2,7,4)),“身份证错”))
说明:VALUE将一个文本字符串转换成数值,LEN返回文本字符串中的字符个数,MID从文本字符串中指定的起始位置起返回指定长度的字符,MID(文本,开始字符,所取字符数)。 109表示当前日期为2009年,如果是2010年则改为110,2009表示当前日期为2009年。 DATE代表日期的数字,MIDB自文字的指定起始位置起提取指定长度的字符串
假设原身份证在A列
B1输入
=IF(LEN(A1)=15,REPLACE(A1,7,,19)&MID(“10X98765432”,MOD(SUM(MID(REPLACE(A1,7,,19),ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17”)))),11)+1,1),A1)
下拉公式
这个是数组公式,不要按回车,按ctrl+shift+回车结束公式输入
如果觉得不喜欢数组,下面是非数组的。正常回车即可
=IF(LEN(A1)=15,CONCATENATE(MID(A1,1,6),“19”,MID(A1,7,9),MID(“10X98765432”,MOD(MID(A1,1,1)*7+MID(A1,2,1)*9+MID(A1,3,1)*10+MID(A1,4,1)*5+MID(A1,5,1)*8+MID(A1,6,1)*4+1*2+9*1+MID(A1,7,1)*6+MID(A1,8,1)*3+MID(A1,9,1)*7+MID(A1,10,1)*9+MID(A1,11,1)*10+MID(A1,12,1)*5+MID(A1,13,1)*8+MID(A1,14,1)*4+MID(A1,15,1)*2,11)+1,1)),A1)
假如以A1列输入身份证号码(公式中的A表示身份证号码列)
1、出生年月日
在A1单元格中输入身份证号码,在B1单元格中输入以下内容
=DATE(MID(A1,7,2+INT(LEN(A1)/16)*2),MID(A1,9+INT(LEN(A1)/
16)*2,2),MID(A1,11+INT(LEN(A1)/16)*2,2))
在C1单元格中输入以下内容
=DATEDIF(A1,TODAY(),“Y”)
就可以得出结果
“=”是函数公式计算的开始
DATE(年,月,日)函数的意思大概是将数字组合成规范的日期格式; MID(目标单元格,从第几位开始提取,提取多少位)函数的意思大概是将目标单元格按要求的从第几位开始提取,取多少位数字出来; INT(数值)函数的大概意思是取整数;
LEN(文本/数值)函数的大概意思是计算文本/数值的个数,不是字节;
2、年龄(两种方法)
=DATEDIF(RIGHT(TEXT(MID(A1,7,11)-500,“#-00-00,”),10),NOW(),“Y”)日期减法;
=IF(LEN(A1)=15,YEAR(NOW())-1900-VALUE(MID(A1,7,2)),IF(LEN(A1)=18,YEAR(NOW())-VALUE(MID(A1,7,4)),“身份证错”))
3、性别
=IF(LEN(A1)=15,IF(MOD(VALUE(RIGHT(A1,3)),2)=0,“女”,“男”),IF(LEN(A1)=18,IF(MOD(VALUE(MID(A1,15,3)),2)=0,“女”,“男”),“身份证错”))
在电子表格中将15为身份证号码转换成18位
假设原身份证号码在A列
B1输入
=IF(LEN(A1)=15,REPLACE(A1,7,,19)&MID(“10X98765432”,MOD(SUM(MID(REPLACE(A1,7,,19),ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17”)))),11)+1,1),A1) 这个是数组公式,不要按回车,按ctrl+shift+回车结束公式输入
如果觉得不喜欢数组,下面是非数组的。正常回车即可
=IF(LEN(A1)=15,CONCATENATE(MID(A1,1,6),“19”,MID(A1,7,9),MID(“10X98765432”,MOD(MID(A1,1,1)*7+MID(A1,2,1)*9+MID(A1,3,1
)*10+MID(A1,4,1)*5+MID(A1,5,1)*8+MID(A1,6,1)*4+1*2+9*1+MID(A1,7,1)*6+MID(A1,8,1)*3+MID(A1,9,1)*7+MID(A1,10,1)*9+MID(A1,11,1)*10+MID(A1,12,1)*5+MID(A1,13,1)*8+MID(A1,14,1)*4+MID(A1,15,1)*2,11)+1,1)),A1)
怎样根据身份证号码推算出年龄?
身份证号码中既然包含出生年月日,就应该可以根据系统日期推算出年龄,这本来不是难以解决的事,但是在用办公软件管理信息时,需要调用条件函数做判断,这就显得有点难度,主要难度是条件表达式和相应算式的列写。下面给出一个方案供参考。如果需要提前通知到龄退休的,只需对算式稍加修改就可以了。
⒈首先,利用工作表中,从身份证号码中把出生年月日提取出来,假设已经以日期形式输入到E列,年龄计算出来后存放于F列。
⒉接着,在F2单元格输入如图所示的表达式,按“Enter”键,第一位职工的年龄就会自动按所列条件进行判断、计算,然后填入F2单元格。
⒊用拖放“填充柄”的办法,产生所有职工的年龄。
注:F2单元格中输入的表达式为:
=IF(MONTH(TODAY())>MONTH(E2),YEAR(TODAY())-YEAR(E2),IF(AND(MONTH(TODAY())=MONTH(E2),(DAY(TODAY())>=DAY(E2))),YEAR(TODAY())-YEAR(E2),YEAR(TODAY())-YEAR(E2)-1))
首先判断电脑系统的月份是否超过该职工出生的月份,如果是,则当前年份减出生年份,得出年龄;如果不是,则进一步判断在月份相同的情况下,系统日期的日序是否超过该职工的出生日序,如果是,则当前年份减出生年份,得出年龄;如果不是,则则当前年份减出生年份再减去1做为年龄。
在Excel中根据身份证号码自动生成出生生日期和性别
【身份证号判断性别的方法】 18位的看倒数第二位,奇男偶女; 15位的看倒数第一位,奇男偶女。 假如:身份证所在的列为C2
首先要判断该身份证的长度,在excel中使用len函数来获取len(C2)
如果是18位的就取第17位,即倒数第二位,Excel中使用mid函数还获取指定位置开始,指定长度的字符串,如果是15位的就去最后一位也就是第15位 =If(len(C2)=15,mid(C2,15,1),mid(C2,17,1))
获取到这个数后,再判断该数是奇数还是偶数就可以得出性别了,excel中使用mod函数实现 =IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,“男”,“女”) 获取年龄的函数如下:
=DATEDIF(TEXT((LEN(C2)=15)*19&MID(C2,7,6+(LEN(C2)=18)*2),“00-00-00”),TODAY(),“y” )
在Excel中根据身份证号码自动生成出生生日期和性别 根据身份证号码自动生成出生生日期 方法一:
15位身份证号:*** 输出出生日期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位身份证号:***521 输出出生日期1979/06/05 =CONCATENATE(MID(E2,7,4),“/”,MID(E2,11,2),“/”,MID(E2,13,2)) 方法二:
15位身份证号:*** 出生日期790605 =IF(LEN(E3)=15,MID(E3,7,6),MID(E3,9,6)) 18位身份证号:***521 出生日期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”代表的是输入身份证号码的单元格。