在 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 |
注意事项
- 身份证必须是 18 位 ,且第 7--14 位为有效日期(如不能是
19901340)。 - 如果身份证号以 0 开头 (如某些地区),请确保单元格格式为「文本」,否则 Excel 会自动去掉前导零导致错误。
- 输入前先设置单元格格式为「文本」,或在身份证前加单引号:
'010123199001011234
- 输入前先设置单元格格式为「文本」,或在身份证前加单引号:
DATEDIF在 Excel 中不会自动提示,但可以直接使用。
合并为一个公式(不显示出生日期),如果你只需要年龄,可在 C2 直接用:
=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)), DATE(2026,1,16), "y")