Skip to content

提取证件号

函数名:idc_提取身份证 / idc_ExtractID

功能描述

从任意文本中提取符合中国大陆身份证号码格式的字符串,支持横向或纵向输出结果。

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

语法

excel
=idc_ExtractID(文本, [输出方向])

参数

参数名类型必填默认值说明
文本String-包含身份证号码的原始文本
输出方向BooleanTRUETRUE 为横向输出(一行多列),FALSE 为纵向输出(一列多行)

返回值

二维数组(Object[,]) - 返回提取到的身份证号码数组。横向输出为一行多列,纵向输出为一列多行。

使用示例

单条文本提取(横向)

公式

excel
=idc_ExtractID("张三身份证号是11010519491231002X")

结果

11010519491231002X

多条号码提取(纵向)

公式

excel
=idc_ExtractID("身份证A:11010519491231002X;身份证B:320311198812120019", FALSE)

结果

11010519491231002X
320311198812120019

无匹配结果

公式

excel
=idc_ExtractID("这段文本没有身份证号码")

结果

(空数组,无输出)

技术说明

  • 正则表达式:使用正则 [1-9][0-9,X]{14,17} 进行匹配,即首位为 1-9,后续 14 至 17 位为数字、X 或逗号,可匹配 15-18 位长度的身份证号码字符串。
  • 输出格式输出方向 = TRUE 时横向一行多列输出;输出方向 = FALSE 时纵向一列多行输出。
  • 底层调用:内部调用通用正则提取函数 wb_正则提取 完成匹配与格式化输出。

错误处理

错误场景返回值
输入为空空数组(无输出)
无匹配结果空数组(无输出)

基于源代码最新版本文档