Excel—身份证生日提取
一、只有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—身份证生日提取的更多相关文章
- 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中
现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...
- Excel日期格式提取year
Excel日期格式提取year =TEXT(YEAR(C2),"0000")
- Excel自动从身份证中提取生日、性别、年龄
现在学生的身份证号已经全部都是18位的新一代身份证了,里面的数字都是有规律的.前6位数字是户籍所在地的代码,7-14位就是出生日期.第17位“2”代表的是性别,偶数为女性,奇数为男性.我们要做的就是把 ...
- 从身份证号提取生日并更新到生日字段中的SQL语句
1:根据身份证号 更新 生日字段 SQL update 学生信息 ,)+,)+,) 2:根据身份证号 更新 性别字段 SQL update 学生信息 set 性别='男' and substring( ...
- Excel身份证验证,身份证校验公式
=IF(LEN(Q4)=0,"空",IF(LEN(Q4)=15,"老号",IF(LEN(Q4)<>18,"位数不对",IF(CH ...
- excel支持正则表达式提取字符函数(支持RegExp捕获分组)
一.要让excel脚本支持Microsoft VBScript Regular Expressions 5.5 ,按快捷键alt+F11,出现下图界面,操作如图示: 二.添加VBA代码: 代码添加完毕 ...
- 关于excel导入手机号提取时被自动加上多余空万国码的问题
//去除excel粘贴自动加上的空万国码“\U202d” "U202c" //去除excel粘贴自动加上的空万国码“\U202d” "U202c" String ...
- node 读取超大Excel 文件,提取数据
之前是用 node-xlsx 来处理excel文件,主要是读取数据或者根据数据生成excel文件.不过,node-xlsx 似乎无法处理超大的excel(100MB以上),例如: var xlsx = ...
- python解析excel中图片+提取图片
解析表格是常用的技术.但是有些表各里面有图片怎么办?我想获得表格里面的图片,值得注意的是,图片没有位置信息,所以最好给图片进行编号,编号代表位置. 下面附上提取表格里面图片的代码.只要输出表格地址,和 ...
随机推荐
- ubuntu 下安装 texlive 并设置 ctex 中文套装
1 安装 texlive2013 1.1 下载 texlive2013 下载地址:http://ftp.ctex.org/mirrors/CTAN/systems/texlive/Images/tex ...
- [转]如何在ASP.NET Core中实现一个基础的身份认证
本文转自:http://www.cnblogs.com/onecodeonescript/p/6015512.html 注:本文提到的代码示例下载地址> How to achieve a bas ...
- spring-test测试demo
如果是maven项目,pom中增加如下依赖: <dependency> <groupId>org.springframework</groupId& ...
- poj1006 / hdu1370 Biorhythms (中国剩余定理)
Biorhythms 题意:读入p,e,i,d 4个整数,已知(n+d)%23=p; (n+d)%28=e; (n+d)%33=i ,求n . (题在文末) 知识点:中国剩余定理 ...
- 【转载】Serif和Sans-serif字体的区别
在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Monospace这一种类,例如在Web中,表示代 ...
- NOIP2013火柴排队[逆序对]
题目描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度. 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为: ∑(ai-bi)^2 其中 ai 表示 ...
- C程序运行计时
在标准的C/C++中最小的时间单位是毫秒ms,下面代码中clock_t是long: 每经过1ms clock()的值就增加1:常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元 ...
- iOS 2D绘图 (Quartz 2D) 概述
本篇博客原文地址:http://blog.csdn.net/hello_hwc?viewmode=list 由于自己的项目需要,从网络上下载了许多关于绘制图形的demo,只是用在自己的项目中,很多地方 ...
- bash/shell编程学习(2)
先来复习上节重定向的用法: 1.快速清空文件 cat demo.txt < /dev/null 注:linux中有一个经典名言[一切皆文件],/dev/null可以认为是一个特殊的空文件,更形象 ...
- HubbleDotNet 的注册码生成器
从上次更新HubbletDotNet 到现在一晃3年多了.2012年我所在的公司被澳洲电信收购,从此我就变得特别忙,没有时间继续 HubbleDotNet 的开发和维护,非常非常的抱歉. Hubble ...