Skip to content

证件号15升18位

函数名:idc_15To18 / idc_15To18

功能描述

将 15 位旧版身份证号码转换为 18 位标准格式,自动在第 7 位前补全 "19" 年份并按国标计算校验码,支持单元格区域批量输入。

会员等级:🟢 免费版(Free)

语法

excel
=idc_15To18(身份证号15)

参数

参数名类型必填默认值说明
身份证号15Object-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位身份证号码
其他异常转换失败: 错误信息

基于源代码最新版本文档