EXCEL根据身份证号计算出生日期和截止某日的年龄

在 Excel 中,可以通过身份证号(18 位)自动提取出生日期 并计算截至指定日期(如 2026-01-16)的年龄 。以下是具体公式(假设身份证号在 A2 单元格):

步骤 1:提取出生日期

中国居民身份证第 7 到第 14 位是出生日期(格式:YYYYMMDD)。

B2 单元格输入以下公式,得到标准日期格式:

=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))

建议:将 B 列单元格格式设置为「短日期」或「yyyy-mm-dd」以便阅读。

步骤 2:计算截至 2026-01-16 的年龄

C2 单元格输入以下公式:

=DATEDIF(B2, DATE(2026,1,16), "y")

说明:

DATEDIF 是 Excel 隐藏但有效的函数,用于计算两个日期之间的完整年数。

"y" 表示返回整年数(不满一年不计),符合常规年龄计算逻辑。

示例:

出生日期:1990-03-07 → 截至 2026-01-16 未满 36 岁 → 年龄 = 35

出生日期:1990-01-10 → 已满 36 岁 → 年龄 = 36

完整示例

A(身份证号) B(出生日期) C(截至2026-01-16的年龄)
110101199003071234 1990/3/7 35
110101199001101234 1990/1/10 36
20200101123456789X 2020/1/1 6

注意事项

  1. 身份证必须是 18 位 ,且第 7--14 位为有效日期(如不能是 19901340)。
  2. 如果身份证号以 0 开头 (如某些地区),请确保单元格格式为「文本」,否则 Excel 会自动去掉前导零导致错误。
    • 输入前先设置单元格格式为「文本」,或在身份证前加单引号:'010123199001011234
  3. DATEDIF 在 Excel 中不会自动提示,但可以直接使用。

合并为一个公式(不显示出生日期),如果你只需要年龄,可在 C2 直接用:

=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)), DATE(2026,1,16), "y")

相关推荐
专注VB编程开发20年3 小时前
傻瓜式Office 功能区插件 / Ribbon开发模板
ribbon·excel·vba·插件·扩展宏
专注VB编程开发20年16 小时前
Excel 2024 / 365 已经把 “单元格填充效果→图片” 这个按钮删掉了
excel
开开心心就好1 天前
仅168KB的桌面图标自动隐藏工具
windows·计算机视觉·计算机外设·excel·启发式算法·宽度优先·csdn开发云
蒋胜山1 天前
Excel 练习题(7)
经验分享·excel
蒋胜山2 天前
Excel 练习题(6)
经验分享·excel
wcy_10112 天前
QCoder智能生成Excel数据清洗与可视化代码
python·excel
JoshRen2 天前
2026教程:上传Excel,用Gemini 3镜像站多模态一键生成问卷分析图表代码与结论(附国内免费方案)
excel
实战编程3 天前
Temu 插件导出 Excel 图片问题总结(SheetJS / ExcelJS)
excel
Data-Miner4 天前
用DeepSeek V4做表:数以轻舟Agent让做Excel表像聊天一样简单
microsoft·excel
Eiceblue4 天前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel