
一、分析身份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所示,现在这份报表无论是提取信息或是核对,都方便多
1、首先利用Excel2010打开需要处理的文档。如下图所示:
2、18位身份z号的第17位是判断性别的数字,奇数代表男性,偶数代表女性。首先,用MID函数将第17位数字提取出来,在性别下面的单元格输入公式:=MID(A2,17,1)。如下图所示:
3、然后点击回车键就可以将第17位数提取出来了。如下图所示:
4、然后利用MOD函数(MOD函数是取余数的函数)取第17位数字除以2的余数,如果余数是0,则第17位是偶数,也就是该身份z是女性;反之,如果余数是1则说明身份z是男性,在性别单元格输入公式:MOD(MID(A2,17,1),2)。如下图所示:
5、余数为“0”说明第17位为偶数,即该身份z是女性。如下图所示:
6、然后利用“IF函数”将两个公式嵌套在一起即可输出该身份z的性别,在性别单元格输入公式:=IF(MOD(MID(A2,17,1),2),"男","女")。如下图所示:
7、然后点击回车键就可以输出该身份z的性别(如下图所示)
这个公式是18位身份z的
年龄:就是从身份z号中提取出出生年份,用当前的年份去减
性别:判断倒数第2位是奇数还是偶数
年月日:从身份z中提取出相应的年月日(这个公式同时适用15位和18位)
如果重写这些公式
年龄:
=IF(LEN(A1)=18,DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),NOW(),"y"),DATEDIF(DATE("19"&MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),NOW(),"y"))
性别:
=IF(LEN(A1)=18,IF(MOD(VALUE(MID(A1,17,1)),2)=1,"男","女"),IF(MOD(VALUE(MID(A1,15,1)),2)=1,"男","女"))
年月日:
=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),DATE("19"&MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)))
辨别方法如下:
1,首先要了解的是:身份z第17位数代表性别,奇数为男,偶数为女。所以我们需要先提取出来第17位数,这里就需要点公式 — 文本 — MID,然后依次输入A2、17、1(意思是引用A2单元格数据,从第17位开始引用,引用1位)。熟练的伙伴可以直接在B2单元格输入=MID(A2,17,1)。
2,接下来是要处理B列表格中的奇偶数,这里用MOD函数来取余数。点公式 — 数学和三角函数 — MOD,依次输入B2、2。熟练的朋友直接输入=MOD(B2,2)。
3,我们用到的最后一个函数是IF,点公式 — 逻辑 — IF,依次输入C2=1、男、女(意思是识别C2表格中数据,是1显示男不是则显示女)。熟练的朋友依旧直接输=IF(C2=1,"男","女")。
4,全部下拉之后就会显示出性别了,逐个公式解释完之后,现在就需要将所有公式加在一起了。
5,在单元格中直接输入=IF(MOD(MID(A2,17,1),2)=1,"男","女"),回车就完成了。
6,我把之前输入公式的单元格改文本格式,大家可以看下全部的公式过程。当然,最简单的方法就是复制5中的公式直接用,当然用的时候注意把A2单元格改成你自己身份z号所在的单元格。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)