ARTICLE · 1002490
Excel 教程:身份证提取出生日期(MID+LEN+DATE 嵌套练习案例)
Excel 教程:身份证提取出生日期(MID+LEN+DATE 嵌套练习案例)欢迎来到【Excel 基础学习园地】! 本账号专注分享零基础也能看懂的 Excel 实操干货,不讲晦涩理论,只讲落地好用的表格技巧、函数案例、快捷键与数据规范,从入门函数到数据透视表全覆盖,新手、职场半吊子都能轻松跟上。 持续更新配套图文实操教程,想要稳步提升 Excel 办公效率,不妨点个关注,不错过每一期实用干货! 如果希望学习更多中高阶公式函数的实战用法,可以关注【和老菜鸟一起学Excel】! 今日教程的视频版: 喜欢看文字教程的小伙伴可以阅读了~~~ 想系统学习基础常用Excel函数的伙伴可以点击链接看看: Excel 公式与函数零基础训练营|系统吃透 50 个高频函数,告别手工加班 业务场景 B 列存放身份证,兼容15 位旧身份证和18 位新身份证,C 列自动输出标准出生日期。 说明:现在日常基本都是 18 位身份证,这个公式不是最简最优写法,但非常适合新手练习函数嵌套逻辑。 C2 单元格完整公式: 示例结果:1984/8/9 
逐个拆解函数 逻辑拆解 实操步骤 这个公式的局限(非最优解) 15 位身份证默认补19开头,只能处理上世纪出生人员;新世纪的 15 位号极少。 现代简洁版本(仅处理18位身份证) 现在更简洁的现代版本(只处理 18 位身份证,日常工作优先用) 再把单元格设置为日期格式,写法简短高效。 新手学习要点 这个案例重点练习 3 个知识点: 虽然现在几乎遇不到 15 位身份证,但这套条件偏移的思路,处理长短不一文本的时候非常实用,值得练习理解。 避坑提醒
01
=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))
02
LEN(B2):获取身份证字符总长度,18 位返回 18,老 15 位返回 15 LEN(B2)=18:逻辑判断,是 18 位身份证得到 TRUE(等价数字 1);15 位得到 FALSE(等价数字 0) (LEN(B2)=18)*2:18 位就 + 2 偏移量,15 位不加偏移。
18 位身份证:生日从第 7 位开始;15 位老身份证生日从第 7 位,但年份只有后两位。MID (单元格,起始位置,截取字符数):从身份证字符串截取年、月、日数字 DATE (年,月,日):把截取出来的数字,组装成 Excel 标准日期格式。
03
当是 18 位身份证:(LEN(B2)=18)*2结果 = 2MID(B2,7,4)取出 4 位完整年份;再分别截取月份、日期 当是 15 位老身份证:(LEN(B2)=18)*2结果 = 0MID(B2,7,2)取出年份后两位,默认 19XX 年,再截取月日。
04
C2 输入完整公式 回车得到标准日期 下拉填充整列,批量解析所有人身份证生日
05
06
=--TEXT(MID(B2,7,8),"0-00-00")07
逻辑判断=判断条件返回 TRUE/FALSE,可以直接参与数学运算(TRUE=1,FALSE=0) MID 文本截取函数嵌套 DATE 函数组装合法日期 兼容两种长度文本的偏移量计算思路
08
身份证单元格必须是文本格式,不能是数字格式,长数字会末尾丢失变成 0,公式就出错。 公式得到的是真正日期,不是文本,可以直接用来计算年龄。