全部練習題 / 文字

從 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 從另一端讀,當前綴長度變化大時比較好想。

函數指南

相關練習

常見問題

要怎麼取出某個字元之後的文字?

用 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@)。@ 才是唯一可靠的切點。