实际输入
- 需要提取的文本
- 从 A2 中格式为“姓名 <邮箱>”的值提取邮箱到 B2。
- 已观察到的输入格式
- 正常:Ana Pérez <ana@example.com>;中文姓名:王小明 <xiaoming@example.cn>;可能有前导空格、空白、没有尖括号的异常值,以及包含两个“<”的记录。
- Excel 版本与规则
- Microsoft 365,支持 TEXTBEFORE 和 TEXTAFTER。输入为空时保持空白;任何异常值返回“待检查”。
信息整理
根据真实分隔符生成文本公式,同时处理不规则行
你填写的内容只保留在当前浏览器中,AILesson 提示语不会将其发送给模型或服务器。
未填写的字段会保留为占位符,你仍然可以复制后自行编辑
请创建用于提取文本的 Excel 公式。
期望结果:
[goal]
已观察到的输入格式:
[patterns]
Excel 版本与异常规则:
[version]
识别分隔符或位置规则,并根据提供的值判断规则是否稳定。除非明确说明,不要假设所有姓名只有两个词,或所有编号长度固定。请返回现代 Excel 公式、适用时的旧版兼容方案,并测试缺失分隔符、重复分隔符、首尾空格、空白和非 ASCII 文本。异常值应明显标记,不要静默截断。从输入到成果
看看具体背景如何通过这条配方转化为可使用的成果
稳定规则是提取唯一一组“<”和后续“>”之间的文字。由于重复分隔符属于异常,应先计数再提取。
B2 公式
=IF(TRIM(A2)="","",IF(AND(LEN(A2)-LEN(SUBSTITUTE(A2,"<",""))=1,LEN(A2)-LEN(SUBSTITUTE(A2,">",""))=1),TRIM(TEXTBEFORE(TEXTAFTER(A2,"<"),">")),"待检查"))
两个长度差分别计算左右尖括号数量。只有各一个时才提取;TRIM 会删除邮箱周围空格,但不会改变重音字符或中文。
旧版方案: 在相同括号计数检查后使用 MID 与 FIND:TRIM(MID(A2,FIND("<",A2)+1,FIND(">",A2)-FIND("<",A2)-1))。
测试:Ana Pérez 和王小明的记录返回完整邮箱;空白返回空白;缺少括号或包含两个左尖括号时返回“待检查”。还应确认“>”位于“<”之后;如果数据中存在反向括号,需要在推广前增加该条件。
真实格式样本可以防止只适用于一个整洁示例的公式破坏异常行。
可见的异常输入结果让后续清理可以核查。
提取规则使用的分隔符是否确实稳定?
缺失或重复分隔符是否会被报告而非错误解析?
公式是否保留重音符号和非拉丁字符?
继续完成任务
把计算需求和真实列结构转成可以验证的公式
在替换公式前找出 Excel 错误的根本原因
使用明确的键、匹配规则和未匹配处理连接两张表