证件号15升18位
函数名:idc_15To18 / idc_15To18
功能描述
将 15 位旧版身份证号码转换为 18 位标准格式,自动在第 7 位前补全 "19" 年份并按国标计算校验码,支持单元格区域批量输入。
会员等级:🟢 免费版(Free)
语法
excel
=idc_15To18(身份证号15)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 身份证号15 | Object | 是 | - | 15 位身份证号码,支持单个值或单元格区域 |
返回值
二维数组(Object[,]) - 返回与输入形状一致的二维数组,元素为转换后的 18 位身份证号码字符串。
使用示例
15 位转 18 位
公式:
excel
=idc_15To18("130503670401001")结果:
130503196704010016批量转换(区域输入)
公式:
excel
=idc_15To18(A1:A3)结果(A1:A3 分别为三个 15 位身份证号):
130503196704010016
1101054912310021
3203118812120019技术说明
- 补全年份:在第 6 位之后插入 "19",将 15 位扩展为 17 位。
- 校验码计算:符合国家标准 GB 11643-1999。
- 加权因子:
{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2} - 前 17 位数字与加权因子逐位相乘求和,和对 11 取模。
- 校验码映射表:
{ '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' },按模值索引得到第 18 位。
- 加权因子:
- 区域支持:当输入为单元格区域时,逐个处理并返回同维度的二维数组。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 输入为空或长度不为 15 | 输入必须是15位身份证号码 |
| 其他异常 | 转换失败: 错误信息 |