【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 …), …)。
コメント