提取证件号
函数名:idc_提取身份证 / idc_ExtractID
功能描述
从任意文本中提取符合中国大陆身份证号码格式的字符串,支持横向或纵向输出结果。
会员等级:🟢 免费版(Free)
语法
excel
=idc_ExtractID(文本, [输出方向])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 文本 | String | 是 | - | 包含身份证号码的原始文本 |
| 输出方向 | Boolean | 否 | TRUE | TRUE 为横向输出(一行多列),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_正则提取完成匹配与格式化输出。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 输入为空 | 空数组(无输出) |
| 无匹配结果 | 空数组(无输出) |