【Excel 時短ワザ】メールアドレスからドメイン・アカウント名を一瞬で取り出す3つの公式
「大量のメールアドレスが並んだリストから、ドメインやアカウント名だけを抜き出したい…」
マーケティングや顧客管理の現場では、こんなシーンがよくありますよね。
最新の Excel 365 なら TEXTAFTER
・TEXTBEFORE
でシンプルに解決します!
この記事では3種類の取り出しテクニックを、日本語でわかりやすく解説します。
準備:サンプル表を作ってみよう
まずは下のようなテストデータを A 列に入力しましょう。
Eメールアドレス (A列) |
---|
taro.yamada@example.com |
hanako@sub.example.co.jp |
user+tag@myapp.io |
support+info@test.company.co.uk |
以降は B 列・C 列・D 列を使って 式の結果 を確認します。
① ドメインだけを取り出す — =TEXTAFTER(A2,"@")
■ 式
=TEXTAFTER(A2,"@")
■ どう働く?
TEXTAFTER(文字列, 区切り)
は、文字列のうち指定区切りより右側を返します。- メールアドレスでは
@
がローカル部とドメイン部の境界。
■ 結果イメージ
元アドレス | ドメイン |
---|---|
taro.yamada@example.com | example.com |
hanako@sub.example.co.jp | sub.example.co.jp |
user+tag@myapp.io | myapp.io |
support+info@test.company.co.uk | test.company.co.uk |
② アカウント名(@ の左側)を取り出す — =TEXTBEFORE(A2,"@")
■ 式
=TEXTBEFORE(A2,"@")
■ どう働く?
TEXTBEFORE
は区切りより左側を取得する関数。- 結果はメールアドレスのローカル部(例:
taro.yamada
)。
■ 結果イメージ
元アドレス | アカウント名 |
---|---|
taro.yamada@example.com | taro.yamada |
hanako@sub.example.co.jp | hanako |
user+tag@myapp.io | user+tag |
support+info@test.company.co.uk | support+info |
従来は LEFT
+FIND
の組み合わせで書く必要がありましたが、
今は 1関数でスッキリ です。
③ “+ エイリアス” を無視してアカウント名を取り出す
Gmail などでは user+tag@example.com
のように、
「+ 以降」を使ってフォルダー振り分けをするエイリアス機能が人気です。
ビジネス集計では 純粋なユーザー名(+より左) だけ欲しいことが多いですよね。
その場合はIFERROR関数を組み合わせます。
■ 式
=IFERROR(TEXTBEFORE(TEXTBEFORE(A2,"@"),"+"), TEXTBEFORE(A2,"@"))
■ 仕組みを分解
TEXTBEFORE(A2,"@")
…… ローカル部(user+tag
)を取得TEXTBEFORE(①,"+")
…… 「+ の前」だけを取り出す。
・「+」が無いと#N/A
エラーになります。IFERROR(②, ①)
…… エラー時は ①のローカル部をそのまま返す
■ 結果イメージ
元アドレス | +無視で取得 |
---|---|
taro.yamada@example.com | taro.yamada |
user+tag@myapp.io | user |
support+info@test.company.co.uk | support |
ワンポイント: 複数の「+」があっても、最初の「+」より左だけを返します。
「+」が無い通常アドレスでは、②がエラー → ①を返すので安心設計です。
まとめ
- ドメインだけ欲しい →
TEXTAFTER
一発。 - アカウント名だけ →
TEXTBEFORE
一発。 - + エイリアスは除外 →
IFERROR(TEXTBEFORE(TEXTBEFORE …), …)
。
コメント