idc_InfoSummary函数
函数名:sfz_信息汇总 / idc_InfoSummary
函数功能
从身份证号中提取性别、生日、生肖和年龄信息,支持15位和18位身份证号码,基于可选基准日期计算年龄。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 支持15位或18位身份证号码 |
refDate | DateTime? | 否 | 2025-07-18 | 计算年龄的基准日期,默认当天 |
使用案例
基础信息提取
问题描述:从身份证号提取个人基本信息 公式演示:
excel
=idc_InfoSummary("11010519491231002X")输出效果:
| 类型 | 结果 |
|---|---|
| 性别 | 男 |
| 生日 | 1949-12-31 |
| 生肖 | 牛 |
| 年龄 | 75 |
使用基准日期计算年龄
问题描述:指定基准日期计算年龄 公式演示:
excel
=idc_InfoSummary("11010519491231002X", DATE(2020,1,1))输出效果:
| 类型 | 结果 |
|---|---|
| 性别 | 男 |
| 生日 | 1949-12-31 |
| 生肖 | 牛 |
| 年龄 | 70 |
技术说明
身份证号码处理
- 自动清除身份证中的空格、横线及点号等非数字字符。
- 支持15位身份证自动转换生日格式。
- 生日提取格式为
yyyyMMdd。 - 性别通过身份证倒数第二位奇偶判定,奇数为男,偶数为女。
生肖计算
- 以公历年份减4后对12取余,映射12生肖顺序:鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。
年龄计算
- 以基准日期年份减去生日年份。
- 若生日尚未过当年,则年龄减一。
异常处理
| 错误场景 | 返回值示例 |
|---|---|
| 身份证号为空 | 性别: "身份证号为空" 其余项为空 |
| 身份证号长度错误 | 性别: "身份证号长度不正确" 其余项为空 |
| 生日信息无效 | 性别: "生日信息无效" 其余项为空 |
| 其他异常 | 性别: "错误: 错误信息" 其余项为空 |
扩展应用
身份证批量信息汇总
结合数组公式,批量提取身份证列表中的个人信息。
excel
=idc_InfoSummary(A2)动态年龄计算
结合当前日期自动刷新年龄数据,无需手动修改基准日期。
注:本函数在WPS 2019+和Excel 365中测试通过,适用于身份证号码规范验证及个人信息提取需求。