夜雨聆风学习资料网

ARTICLE · 1002490

Excel 教程:身份证提取出生日期(MID+LEN+DATE 嵌套练习案例)

Excel 教程:身份证提取出生日期(MID+LEN+DATE 嵌套练习案例)
欢迎来到【Excel 基础学习园地】!
本账号专注分享零基础也能看懂的 Excel 实操干货,不讲晦涩理论,只讲落地好用的表格技巧、函数案例、快捷键与数据规范,从入门函数到数据透视表全覆盖,新手、职场半吊子都能轻松跟上。
持续更新配套图文实操教程,想要稳步提升 Excel 办公效率,不妨点个关注,不错过每一期实用干货!
如果希望学习更多中高阶公式函数的实战用法,可以关注【和老菜鸟一起学Excel】!
今日教程的视频版:
喜欢看文字教程的小伙伴可以阅读了~~~
想系统学习基础常用Excel函数的伙伴可以点击链接看看:
Excel 公式与函数零基础训练营|系统吃透 50 个高频函数,告别手工加班

01

业务场景
B 列存放身份证,兼容15 位旧身份证和18 位新身份证,C 列自动输出标准出生日期。
说明:现在日常基本都是 18 位身份证,这个公式不是最简最优写法,但非常适合新手练习函数嵌套逻辑。
C2 单元格完整公式:
=DATE(MID(B2,7,2+(LEN(B2)=18)*2),MID(B2,9+(LEN(B2)=18)*2,2),MID(B2,11+(LEN(B2)=18)*2,2))
示例结果:1984/8/9

02

逐个拆解函数
  1. LEN(B2):获取身份证字符总长度,18 位返回 18,老 15 位返回 15
  2. LEN(B2)=18:逻辑判断,是 18 位身份证得到 TRUE(等价数字 1);15 位得到 FALSE(等价数字 0)
  3. (LEN(B2)=18)*2:18 位就 + 2 偏移量,15 位不加偏移。
    18 位身份证:生日从第 7 位开始;15 位老身份证生日从第 7 位,但年份只有后两位。
  4. MID (单元格,起始位置,截取字符数):从身份证字符串截取年、月、日数字
  5. DATE (年,月,日):把截取出来的数字,组装成 Excel 标准日期格式。

03

逻辑拆解
  • 当是 18 位身份证:(LEN(B2)=18)*2结果 = 2MID(B2,7,4)取出 4 位完整年份;再分别截取月份、日期
  • 当是 15 位老身份证:(LEN(B2)=18)*2结果 = 0MID(B2,7,2)取出年份后两位,默认 19XX 年,再截取月日。

04

实操步骤
  1. C2 输入完整公式
  2. 回车得到标准日期
  3. 下拉填充整列,批量解析所有人身份证生日

05

这个公式的局限(非最优解)
15 位身份证默认补19开头,只能处理上世纪出生人员;新世纪的 15 位号极少。

06

现代简洁版本(仅处理18位身份证)
现在更简洁的现代版本(只处理 18 位身份证,日常工作优先用)
=--TEXT(MID(B2,7,8),"0-00-00")
再把单元格设置为日期格式,写法简短高效。

07

新手学习要点
这个案例重点练习 3 个知识点:
  1. 逻辑判断=判断条件返回 TRUE/FALSE,可以直接参与数学运算(TRUE=1,FALSE=0)
  2. MID 文本截取函数嵌套
  3. DATE 函数组装合法日期
  4. 兼容两种长度文本的偏移量计算思路
虽然现在几乎遇不到 15 位身份证,但这套条件偏移的思路,处理长短不一文本的时候非常实用,值得练习理解。

08

避坑提醒
  1. 身份证单元格必须是文本格式,不能是数字格式,长数字会末尾丢失变成 0,公式就出错。
  2. 公式得到的是真正日期,不是文本,可以直接用来计算年龄。

相关学习资料

返回首页浏览学习资料