美文网首页工具癖Office实用小技能get
学会这一招,轻松解决从身份证号中批量提取出生年月!

学会这一招,轻松解决从身份证号中批量提取出生年月!

作者: 略懂P毛 | 来源:发表于2018-01-22 20:43 被阅读963次

    在学习工作中,难免会和身份证打交道,当班主任或者辅导员通知你,收集一下班级同学的身份证号和出生年月,然后你可能就撒fufu地一个一个统计放进Excel中???其实你可以不需要问出生年月的,身份证里面不就有出生年月吗?除了出生年月,从身份证就可以看出你是男生女生哦;当然,算年龄也可以做到!今天就告诉你怎么利用函数将身份证里面的出生年月、性别、年龄提取出来~

    一、提取出生年月

    上面就是身份证号码18位的分布。首先我们来解决第一个问题:提取出生日期。我们知道,身份证中前六位是地址码;接下来的八位是出生日期码;那么我们想将出生日期码提取出来,就要用到mid函数(从文本字符串中指定的起始位置起返回指定长度的字符),简单地说:就是从第几位开始取、取几位!弄明白了这个函数的含义,将出生年月取出来就很简单了。看下面的操作。

    公式:=mid(A2,7,8),即在A2单元格中从第七位开始取,取8位。

    这样的结果还不是很容易地分辨年月日,那么该怎么做成1997-11-22的样式呢?

    也很简单,我们现在提取的只是字符串,我们需要将它变成1997-11-22的格式,要这样做。在mid函数的基础上用到text(文本函数),具体的过程如下。“0000-00-00”这里的0可以指任意值,在这里就代表我们的年(0000)、月(00)和日(00)。

    具体公式:=text(mid(A2,7,8),"0000-00-00")

    那有的同学想要得到1997/11/22这样的格式,怎么去做呢?

    你可能会说,直接将单元格格式改成日期型不就好了?下面我给你展示一下你的想法。

    你会发现,和你想的是有点差距的,在这种情况下,更改单元格格式完全不起作用,该怎么解决呢?其实我们在单元格输入的最后加上(+0)就可以解决这个问题了~当然,如果你非得问我为什么这么做,我也不知道,咱们在操作中记忆就可以了。(+0的操作如下)

    具体公式:=text(mid(A2,7,8),"0000-00-00")+0

    二、提取性别

    说完了提取出生年月,下面我们就普及一个小知识:你知道从身份证号就可以区分出性别吗?小编在这里告诉你:身份证的倒数第二位的数字决定了这个人是男生还是女生。当那一位为偶数的时候,是女生;相反,如果是奇数,则是男生。(对应一下,是不是这么回事?)那么下面就回到我们的题目上,到底该怎么去提取呢?

    和上面提取出生年月是一样的,我们同样要用到mid函数,将身份证号的第17位提取出来,看下图。

    具体公式:=mid(A2,17,1)

    提取出来了之后,我们就要用到mod函数(求两数相除的余数)。为什么用到这个函数呢?我们知道:第17位不是偶数就是奇数,这样一来,我们可以用mod函数将提取的结果除以2进行求余数。当余数为0,也就是被2整除的时候,是女生;反之则是男生。说到条件判断,这里当然离不开if函数,具体的输入(标点全都是英文标点)如下。

    具体公式:=if(mod(mid(A2,17,1)=0,"女","男")

    理解一下这个公式:如果身份证号的倒数第二位能被2整除,是女生;不能被2整除,就是男生。

    三、提取年龄

    最后跟大家说一下怎么提取年龄。在这里我们要用到的函数是datedif函数。

    datedif函数是Excel隐藏函数,在帮助和插入公式里面没有。它是指返回两个日期之间的年/月/日间隔数(我们要求的是年龄,所以只需要用计算机语言表示“年”即可),具体格式为datedif(开始时间,结束时间,返回的间隔类型)。我们常使用DATEDIF函数计算两日期之差。

    要算年龄,就还要提到另外一个函数,today函数。today函数返回的是电脑设置的日期,当然你要保证自己的电脑日期是准确的。看一下具体的操作。

    具体公式:=datedif(B2,today(),"y

    今天的分享到这里就结束了,我们主要谈了如何批量从身份证号码中提取出生年月、性别和年龄。希望这篇分享可以提高大家的工作和学习效率。

    相关文章

      网友评论

        本文标题:学会这一招,轻松解决从身份证号中批量提取出生年月!

        本文链接:https://www.haomeiwen.com/subject/cfpraxtx.html