怎么在excel表格里面 提取身份z的性别

怎么在excel表格里面 提取身份z的性别,第1张

提取出生日期。A列是身份z号码列。现在在B2中输入=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)) 在英文输入法状态下输入。点击回车键即提取成功。

MID函数就是在指定的字符串中提取一定数量的字符。A2就是指定字符串,7是开始提取的位置,就是从号码中第7位就是出生日期的起始位置,然后4是指从第七位开始提取后面4位数。(A2,11,2)、(A2,13,2)也是同样的意思。然后使用DATE函数转化成日期格式。

还可以使用TEXT函数来提取出生日期,这里在B3单元格中输入==TEXT(MID(A3,7,8),"0-00-00") 然后使用下拉单元格的方式,将公式都复制到B列中,就可以完成出生日期的提取。

性别的提取。首先要了解,身份z号码上的第17位数,奇数代表男性,偶数代表女性。在C2单元格中输入=IF(MOD(MID(A2,17,1),2),"男","女") 就能立刻识别男女。

这里是一个算法,即使用身份z号码中的第17位数,来除以2,能除尽的就是偶数,不能的就是奇数,然后使用IF进行分辨男女。

提取年龄。在D2单元格中输入=YEAR(TODAY())-MID(A2,7,4),即使用现在的时间减去身份z中的年份,得出现在的年龄,现在的时间指的是电脑系统上的当下的时间。

假设身份z号码在单元格a1,下面是年龄、出生年月日、性别:

=datedif(text(mid(a1,7,if(len(a1)=18,8,6)),"0-00-00"),today(),"y")

=text(mid(a1,7,if(len(a1)=18,8,6)),"0-00-00")

=if(mod(mid(a1,if(len(a1)=18,17,15),1),2),"男","女")

一、分析身份z号码

其实,身份z号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份z号码,其中都保存了相关的个人信息。

15位身份z号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。

18位身份z号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。

例如,某员工的身份z号码(15位)是320521720807024,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份z号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份z号码进行检查,肯定可以大大提高工作效率。

二、提取个人信息

这里,我们需要使用IF、LEN、MOD、

MID、DATE等函数从身份z号码中提取个人信息。如图1所示,其中员工的身份z号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。

1 提取出生年月信息

由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份z号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:

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

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

MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份z号码的第9、10、11、12位数字。

IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。

如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行设置。

2 提取性别信息

由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错

例如性别信息统一在B列填写,可以在B2单元格中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:

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

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

MID(C2,17,1):如果身份z号码的长度不是15位,即18位身份z号码,那么应该提取第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单元格显示为“男”,否则显示为“女”。

回车确认后,即可在B2单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳。如图2所示,现在这份报表无论是提取信息或是核对,都方便多了

  身份z是一组有规律的号码,具体分割应该是:XXX XXX XXXX XX XX XX X X的格式。这里解释一下,第一组和第二组共六个数字代表的是户籍所在地代码,第三组数据是出生年份,第四组两位数代表出生月份,第五组两位数代表出生日期,倒数第二位则是性别判断数字(偶数为女性,奇数为男性),在统计信息的时候,可能只登记了姓名和身份z号码,如何能够快速的将生日、性别、年龄一一提取计算出来,这是很多人都想知道的。而这些,都可以通过Excel公式来实现快速自动提取计算。

 首先新建一个Excel表格,右键单击要填写身份z号码的列(或者Ctrl+A整个表格),选择“设置单元格格式”。

  在d出对话框内,点击“数字”中的“文本”确定。注意这个 *** 作一定要在复制身份z数字前 *** 作。

  如表格中所示,在姓名和身份z后的同行单元格内,输入公式:“=MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日"”,注意,公式不包括中文半角双引号,手动输入时也要留意,所有符号全部为英文半角字符。另外,公式中“B2”为身份z所在单元格,具体到自己的表格中要根据情况变换。这里要解释一下,公式中的MID函数是Excel提供的一个“从字符串中提取部分字符”的函数命令,具体使用格式在EXCEL中输入MID后会出现提示。这个公式的大概意思是,提取B2单元格第7位后4个数字标记为年,第11位后2个数字标记为月,第13位后2个数字为日,由此组成出生日期。

  判断男女则是根据身份z号的第17位数字决定,所以我们在后面的单元格中单击输入公式:“=IF(MID(B2,17,1)/2=TRUNC(MID(B2,17,1)/2),"女","男")”,大意为根据指定的条件(本例中即B2单元格第17位)来判断其“真”(TRUE)、“假”(FALSE)(注:男、女),这里根据奇数、偶数来判断,所谓单数即男性,偶数为女性。

  最后是年龄,一般使用公式:“=YEAR(NOW())-YEAR(C2)”(本文中C2单元格为出生日期),但是这个公式第一要建立在之前我们提取出生日期的单元格数据上,而且这个公式也仅仅是以年份相减得出的年龄,说起来有点像我们常说的“虚岁”,这个在人事工作中是不科学的。最精确的公式应为:“=DATEDIF(TEXT(MID(B2,7,6+2(LEN(B2)=18)),"#-00-00"),NOW(),"y")”,DATEDIF函数其实是Excel隐藏函数,在帮助和插入公式里面没有。公式主要作用是返回两个日期之间的年\月日间隔数,我们也正是借此来精确计算实际年龄。

  如此一来,通过三组不同的函数,我们可以依靠着身份z信息快速提取出生日期和性别,并能精确计算出当事人年龄,为统计录入节约大量时间。

1、首先打开excel,我们看下面的表格是员工的姓名和身份z号码。

2、在excel提取性别的单元格内输入函数“=IF(MOD(MID(C2,17,1),2)=0,"女","男")。其中“C2”为所提取身份z号的单元格,“17”代表提取信息起始位置为第17位,“1”代表提取信息共计1位。

3、在输入框输入函数后,点击回车键,身份z中的性别信息就提取出来了。

4、在excel提取年月日的单元格内输入函数“=TEXT(MID(C2,7,8),"0000-00-00")”。其中“C2”为所提取身份z号的单元格,“7”代表提取信息起始位置为第7位,“8”代表提取信息共计8位。

5、在输入框输入函数后,点击回车键,身份z中的年月日信息就提取出来了。

6、在excel提取年月的单元格内输入函数“=TEXT(MID(C2,7,6),"0000-00")”。其中“C2”为所提取身份z号的单元格,“7”代表提取信息起始位置为第7位,“6”代表提取信息共计6位。

提取生日:=mid(a1,7,8),假设身份z号在a列,从第7位数提取,共提取8位数字。

年龄:=2011-mid(a1,7,4),今年减出生年。

性别:=isodd(mid(a1,17,1)),

显示true为奇数,表示“男”,显示false为偶数,表示“女”。怎样显示男、女。我没做出来。

身份z为18位新证。

使用mid()和right()函数,配合if()判断。

比如,a2为身份z号,b2输入=IF(LEN(A2)=18,MID(A2,7,8),MID(A2,7,6))就是8位或6位的生日。

c2输入=IF(MOD(IF(LEN(A2)=18,MID(A2,17,1),RIGHT(A2,1)),2),"男","女")就是生日。

一、身份z号码的构成规则:

1、前6位为地区代码。具体请在网上搜索相关介绍。

2、7位至14位,出生年月日,7—10位出生年,11—12出生月(两位),13—14出生日。

3、15—18位,识别代码。其中第17位就是性别代码,单数为男,双数(含0)为女。

二、从身份z中提取相应的位数进行相应的计算。

1、提取出生年月日并用日期格式表示在单元格里(mid函数+date函数)。

(1)mid函数一共有三个参数:第1个表示字符串或单元格,第2个表示从第几位开始提(用数字表示),第3个表示需要提取几位(用数字表示)。如本例从身份z中提取出生年月日就是要提取第7位开始的8位。用函数表示为:=mid(存放身份z的单元格,7,8)

(2)这样不是标准的日期格式,为我们计算年龄增加了困难,所以要用date函数来生成日期格式。

date函数就是日期函数,一共有三个参数,具体表示为:=date(年,月,日)。如:=date(1966,3,13)得出的结果就是(1966-3-13)

本例需要结合两个函数进行。具体公式为:=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),最后记得要将单元格格式设置为“日期”才行哦。

2、计算年龄(DATEDIF函数),具体公式为:=DATEDIF(B2,TODAY(),"y")

此函数有三个参数,第一个表示开始日期(本例为出生日期),第二个表示结束日期(本例为今天,公示中用了一个TODAY函数,表示提取计算机日期,此函数没有参数,所以只用了一个双括号表示),第三个参数为计算相差什么(年用Y,月用M,日用D。本例指相差的年,所以用Y)。

3、计算性别(if函数+mod函数)

(1)if函数:假如条件为真时显示什么,为假时显示什么。具体为:=if(条件,真时显示,假时显示)。如:=if(3>1,1,0)表示如果3大于1,就显示1,否则就显示0,显然,这个的结果是1。

(2)mod函数:表示求两数相除的余数。语法为:=mod(被除数,除数)。如:=mod(9,2)结果为1。

(3)本例需要提取第17位数字进行判断,单数为男,双数为女。很显然,一个数除以2,余数是1的是单数,余数是0的是双数。具体公式为:=IF(MOD(MID(A2,17,1),2)=1,"男","女")

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/13496527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存