idc_15To18函数
函数名:sfz_15To18 / idc_15To18
函数功能
将15位旧版身份证号码转换为18位标准格式,自动补全年份并计算校验码。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
idCard15 | String | 是 | "130503670401001" | 15位有效身份证号码字符串 |
使用案例
15位身份证转18位
问题描述:将15位身份证转换为标准18位 公式演示:
excel
=idc_15To18("130503670401001")输出效果:
text
130503196704010019输入校验示例
问题描述:输入非15位身份证号码时返回错误 公式演示:
excel
=idc_15To18("123456789")输出效果:
text
输入必须是15位身份证号码技术说明
转换规则
- 在第7位和第8位之间插入“19”补全年份信息。
- 计算身份证最后一位校验码,校验码计算方法符合国家标准GB11643-1999。
校验码计算
- 使用加权因子
{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}与身份证数字逐位相乘求和。 - 将求和结果对11取模,根据校验码映射表
{'1','0','X','9','8','7','6','5','4','3','2'}确定最后一位。
异常处理
| 错误场景 | 返回值 |
|---|---|
| 输入为空或长度不为15 | "输入必须是15位身份证号码" |
| 其他异常 | "转换失败: 错误信息" |
扩展应用
身份证号码统一格式处理
结合身份证号码校验和提取函数,实现旧版身份证向新版的批量转换与统一管理。
自动校验码生成
可用于自动生成和验证身份证号,辅助身份证号码格式校验工具开发。
注:本函数在WPS 2019+和Excel 365环境下测试通过。