idc_Age函数
函数名:sfz_年龄 / idc_Age
函数功能
根据身份证号计算年龄,支持15位和18位身份证号码。可自定义基准日期,默认使用当前日期计算年龄。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 支持15位或18位身份证号码 |
refDate | DateTime? | 否 | 2025-07-18 | 计算年龄的基准日期,默认使用今天 |
使用案例
默认基准日期计算年龄
问题描述:根据身份证号计算当前年龄 公式演示:
excel
=idc_Age("11010519491231002X")输出效果(假设今天是2025-07-18):
text
75自定义基准日期计算年龄
问题描述:根据身份证号和指定日期计算年龄 公式演示:
excel
=idc_Age("11010519491231002X", DATE(2030,1,1))输出效果:
text
79错误处理示例
问题描述:身份证号为空或无效 公式演示:
excel
=idc_Age("")输出效果:
text
身份证号为空excel
=idc_Age("123456789")输出效果:
text
身份证号长度不正确技术说明
年龄计算逻辑
- 先调用
sfz_生日函数提取出生日期。 - 基准日期默认为当天日期,可通过第二参数自定义。
- 年龄计算为基准年份减出生年份。
- 若基准日期在当年出生日期之前,年龄减1。
异常处理
| 错误场景 | 返回值 |
|---|---|
| 空身份证号 | 身份证号为空 |
| 身份证号长度错误 | 身份证号长度不正确 或 生日信息无效 |
| 日期解析错误 | 错误: 错误信息 |
扩展应用
结合条件格式做年龄筛选
excel
=idc_Age(A1) >= 18 // 判断是否成年批量年龄统计
结合表格列批量计算身份证对应年龄,方便人群年龄分析。
注:本函数依赖
sfz_生日函数确保生日信息有效,支持WPS 2019+和Excel 365环境。