Skip to content

提取手机号

函数名:p_提取手机号 / p_ExtractPhones

功能描述

从混合文本中提取所有符合中国手机号规范(1 开头的 11 位数字)的号码,自动去重,支持横向或竖向排列输出,可处理包含特殊字符、换行符等复杂文本。

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

语法

excel
=p_ExtractPhones(原始文本, [排列方式])

参数

参数名类型必填默认值说明
原始文本String-包含手机号的混合文本,支持含换行符的长文本
排列方式Integer00 = 横向排列(一行多列),1 = 竖向排列(一列多行)

返回值

二维数组(Object[,]) - 返回提取到的手机号数组。横向输出为一行多列,竖向输出为一列多行。

使用示例

横向提取多个手机号

公式

excel
=p_ExtractPhones("请回电13800138000,备用号13512345678")

结果

13800138000    13512345678

竖向提取

公式

excel
=p_ExtractPhones("电话:13512345678;微信:13800138000", 1)

结果

13512345678
13800138000

自动去重

公式

excel
=p_ExtractPhones("联系13800138000,再联系13800138000")

结果(重复号码仅保留一个):

13800138000

技术说明

  • 正则匹配:使用正则 (1\d{10}) 精确匹配以 1 开头的 11 位数字。
  • 去重处理:采用 Distinct() 确保结果唯一性。
  • 输出格式排列方式 = 0 时横向一行多列输出;排列方式 = 1 时纵向一列多行输出。

错误处理

错误场景返回值
无匹配手机号空数组(无输出)
提取过程异常错误: 提取失败

基于源代码最新版本文档