提取Email
函数名:p_提取Email / p_ExtractEmail
功能描述
从混合文本中提取所有符合标准的电子邮件地址,自动去重(忽略大小写),支持横向或竖向排列输出。
会员等级:🟢 免费版(Free)
语法
excel
=p_ExtractEmail(原始文本, [排列方式])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 原始文本 | String | 是 | - | 包含 Email 的混合文本,支持直接文本或单元格引用 |
| 排列方式 | Integer | 否 | 0 | 0 = 横向排列(一行多列),1 = 竖向排列(一列多行) |
返回值
二维数组(Object[,]) - 返回提取到的 Email 地址数组。横向输出为一行多列,竖向输出为一列多行。
使用示例
提取单个邮箱
公式:
excel
=p_ExtractEmail("服务邮箱:service@company.com")结果:
service@company.com多邮箱去重并竖向输出
公式:
excel
=p_ExtractEmail("联系a@x.com或A@x.com及b@x.com", 1)结果(a@x.com 与 A@x.com 视为重复,仅保留一个):
a@x.com
b@x.com无匹配结果
公式:
excel
=p_ExtractEmail("这段文本没有邮箱地址")结果:
未找到Email地址技术说明
- 正则匹配:使用正则
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}匹配标准邮箱格式。- 本地部分:字母、数字及
._%+- - 域名部分:字母、数字、点及连字符,顶级域名至少 2 位字母
- 本地部分:字母、数字及
- 去重处理:采用忽略大小写的
Distinct去重。 - 输出格式:
排列方式 = 0时横向一行多列输出;排列方式 = 1时纵向一列多行输出。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 原始文本为空 | 未找到Email地址 |
| 无匹配邮箱 | 未找到Email地址 |
| 提取过程异常 | 错误: 提取失败 |