从 Email 取出域名(MID + FIND)

困难 文本
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

题目

题目说明

营销想按公司域名分组,但导出文件只留了完整邮箱在 A2。请把 @ 之后的全部内容取到 Domain 单元格 C2——[email protected] 要得到 corp.com。

要从 @ 的「下一个字符」开始取——用例 2 是两段式域名、用例 3 带有 plus 标记,所以 @ 的位置和长度都不能假设。

题目数据

用表格查看整份数据(可选中、可复制)
这道题的数据表
AC
1EmailDomain
2[email protected]

知识点

FIND("@", A2) 返回 @ 的位置,而 MID 要的是「第一个想留下的字符位置」,所以要加 1,否则结果会从 @ 开始。长度参数只要够长就好;LEN(A2) 是安全上限,因为 MID 到字符串结尾就会停。

解题思路

答案写在 C2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。

  1. 目标单元格是 C2
  2. FIND("@", A2) 会告诉你 @ 在第几个位置
  3. MID 从你指定的位置开始,所以要给 @ 的下一个位置
  4. 公式形状:=MID(?, FIND("@", ?) + 1, ?)

官方解法

展开 2 种解法(建议先自己试一次)

解法 1:从 @ 之后用 MID 取

=MID(A2,FIND("@",A2)+1,LEN(A2))

FIND 找到 @,加 1 移到下一个字符,LEN(A2) 给一个很大方的长度——MID 到字符串结尾自然停下。完全不必假设域名有多长。

解法 2:用 RIGHT 取剩下的长度

=RIGHT(A2,LEN(A2)-FIND("@",A2))

@ 之后的内容长度=总长度减去 @ 的位置。RIGHT 从另一端读,当前缀长度变化大时更好想。

函数指南

相关 Excel 练习

常见问题

怎么取出某个字符之后的文本?

用 FIND 找到那个字符,再用 MID 或 RIGHT 取剩下的部分。=MID(A2, FIND("@", A2) + 1, LEN(A2)) 这个模式对任何分隔符都成立——把 @ 换成逗号或破折号即可。

为什么要写 FIND("@", A2) + 1?

FIND 返回的是 @ 本身的位置。MID 从你给的位置开始取,所以不加 1 的话结果会从 @ 开始——变成 `@corp.com` 而不是 `corp.com`。

可以改用句点来切吗?

不可靠。域名的句点数量不同(.co.uk、.com.au),而 @ 前面的名称本身也可能有句点(anna.lee@)。@ 才是唯一可靠的切点。