一、只有18位的身份证号码

如:

身份证号

330682199302264000

41120019890823729X

231081199002256839

131101198203154666

360300198205270958

11010519491231002X

计算步骤:

step1:提取生日字符串:

=MID(A2,7,8)

,生日从第七位开始,共八个数。

step2:这一步,可以分为两种方法:


方法一:采用分列工具

1.将公式生成的日期复制:

2.在同一列粘贴成“值”的格式:

3.选择需要进行分列的生日:

4.在“数据”中点击“分列”:

5.按如下步骤进行:

勾选“固定宽度”

在生日年份和月份以及月份和日期之间对应的红色区域中点击,建立分割线:

在第三步勾选“日期”,点击完成:

该字符串被分解成三个独立的单元:

6.在新的一列中输入公式

=DATE(B2,C2,D2)

——之前的年月日,完成。

就可以得到身份证提取的生日了。


方法二:使用公式

1.将字符串以0-00-00的格式显示:

=TEXT(B2,"0-00-00")

一步完成。


二、只有15位身份证号码

这种情况基本不会出现的,即使出现了,专门立栏也没必要,直接进入下一节。


三、15位身份证号码和18位身份证号码并存

例如:

step1:提取生日字符串:

18位身份证,从第7位开始,提取8个数字;

15位身份证,从第7位开始,提取6个数字。

因此需要使用IF函数,根据身份证号的长度,选择提取位数的长度:

=MID(A2,7,IF(LEN(A2)=18,8,6))

step2:将提取的字符串,以特定格式表示:

=TEXT(MID(A2,7,IF(LEN(A2)=18,8,6)),"0-00-00")

step3:转为时间序列

现在需要解决这样一个问题,就是15位身份证日期显示错误的问题:

解决方法是,通过乘法将它转变为时间序列:

=1*TEXT(MID(A2,7,IF(LEN(A2)=18,8,6)),"0-00-00")

step3:最后转为日期

=TEXT(1*TEXT(MID(A2,7,IF(LEN(A2)=18,8,6)),"0-00-00"),"yyyy-mm-dd")

之前的TEXT函数不能转为”yyyy-mm-dd”的原因,是因为年份前两位缺少,现在可以直接通过时间序列将其转为日期了。

注:yyyy-mm-dd是日期格式的一种,而0-00-00只是文本一种显示格式。


四、最后的Plan B

经过计算,通过IF函数确定选取的字符数,与LEN(A2)/2.2的结果是一致的。

=TEXT(1*TEXT(MID(A2,7,LEN(A2)/2.2),"0-00-00"),"YYYY-MM-DD")


五、计算年龄

作为一个拓展,可以通过日期计算他/她的年龄。

=YEAR(TODAY())-YEAR(C2)

函数TODAY()不需要参数,直接返回今天的日期,如2008-08-08。

函数YEAR返回日期的年份。

Excel—身份证生日提取的更多相关文章

  1. 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

    现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...

  2. Excel日期格式提取year

    Excel日期格式提取year =TEXT(YEAR(C2),"0000")

  3. Excel自动从身份证中提取生日、性别、年龄

    现在学生的身份证号已经全部都是18位的新一代身份证了,里面的数字都是有规律的.前6位数字是户籍所在地的代码,7-14位就是出生日期.第17位“2”代表的是性别,偶数为女性,奇数为男性.我们要做的就是把 ...

  4. 从身份证号提取生日并更新到生日字段中的SQL语句

    1:根据身份证号 更新 生日字段 SQL update 学生信息 ,)+,)+,) 2:根据身份证号 更新 性别字段 SQL update 学生信息 set 性别='男' and substring( ...

  5. Excel身份证验证,身份证校验公式

    =IF(LEN(Q4)=0,"空",IF(LEN(Q4)=15,"老号",IF(LEN(Q4)<>18,"位数不对",IF(CH ...

  6. excel支持正则表达式提取字符函数(支持RegExp捕获分组)

    一.要让excel脚本支持Microsoft VBScript Regular Expressions 5.5 ,按快捷键alt+F11,出现下图界面,操作如图示: 二.添加VBA代码: 代码添加完毕 ...

  7. 关于excel导入手机号提取时被自动加上多余空万国码的问题

    //去除excel粘贴自动加上的空万国码“\U202d” "U202c" //去除excel粘贴自动加上的空万国码“\U202d” "U202c" String ...

  8. node 读取超大Excel 文件,提取数据

    之前是用 node-xlsx 来处理excel文件,主要是读取数据或者根据数据生成excel文件.不过,node-xlsx 似乎无法处理超大的excel(100MB以上),例如: var xlsx = ...

  9. python解析excel中图片+提取图片

    解析表格是常用的技术.但是有些表各里面有图片怎么办?我想获得表格里面的图片,值得注意的是,图片没有位置信息,所以最好给图片进行编号,编号代表位置. 下面附上提取表格里面图片的代码.只要输出表格地址,和 ...

随机推荐

  1. J2EE基础之JSP

    J2EE基础之JSP 1.JSP简介 JSP是JavaServer的缩写,是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.在HTML文件中加入Java程序代码 ...

  2. 帆软报表FineReport数据连接中游标问题解决方案汇总

    1. 概念 在数据库中, 游标是一个十分重要的概念.游标是一种能从包括多条数据记录的结果集中,每次提取一条记录的机制. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,往往是一个含有多个记 ...

  3. JustWe-WebServer Android上的Http服务器

    JustWe-WebServer Android手机上的Http服务器,可以用于内网/外网的数据交换. ps: 这个项目是JustWeEngine游戏框架中处理网络事件的一部分. 如何使用 设置as ...

  4. 我的CentOS 7 U盘安装之路 (Win 8.1 Profession + CentOS 7双系统)

    这次为了学习Linux,尝试着安装了鸟哥书上推荐的CentOS这款Distribution,但是安装的是最新版CentOS 7,好像跟书上的差别有点大呢.安装的过程中走了一些弯路,做了一些尝试最后发现 ...

  5. 自动装配[@Autowired]的歧义性

    在使用@Autowired自动装配时,如果一个接口有多个实现类,那么自动装配就会出现错误,因为Spring无法判断到底要装配哪个实现类实例(bean). 1.可以使用@Qualifier(" ...

  6. iOS与Html5和JS之间的交互---学习笔记五

    首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import "Web ...

  7. @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别

    1. RenderBody在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到标签里有这样一条语句:@Rend ...

  8. Ext小总结

    titleCollapse:true,//高级搜索点击隐藏显示 添加按钮 >弹出页面 1.添加按钮 //核销  在控制层页面添加页面路径>添加操作按钮>window.allOrder ...

  9. 微信小程序之数据绑定(五)

    [未经作者本人允许,请勿以任何形式转载] 前几篇讲述微信小程序开发工具使用.生命周期和事件. 本次讲述微信小程序数据和视图绑定 >>>数据视图绑定 做前端开发的同学,尤其是WEB前端 ...

  10. 集合和String

    集合 Collection 接口 |-List 接口 |-LinkedList 类 |-ArrayList 类 |-Set 接口 |-HashSet 类 |-TreeSet 类 |-LinkedHas ...