【Excel時短】メールアドレスからドメイン・アカウント名を取り出す式

【Excel 時短ワザ】メールアドレスからドメイン・アカウント名を一瞬で取り出す3つの公式

「大量のメールアドレスが並んだリストから、ドメインアカウント名だけを抜き出したい…」
マーケティングや顧客管理の現場では、こんなシーンがよくありますよね。
最新の Excel 365 なら TEXTAFTERTEXTBEFORE でシンプルに解決します!
この記事では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.comexample.com
hanako@sub.example.co.jpsub.example.co.jp
user+tag@myapp.iomyapp.io
support+info@test.company.co.uktest.company.co.uk

② アカウント名(@ の左側)を取り出す — =TEXTBEFORE(A2,"@")

■ 式

=TEXTBEFORE(A2,"@")

■ どう働く?

  • TEXTBEFORE区切りより左側を取得する関数。
  • 結果はメールアドレスのローカル部(例:taro.yamada)。

■ 結果イメージ

元アドレスアカウント名
taro.yamada@example.comtaro.yamada
hanako@sub.example.co.jphanako
user+tag@myapp.iouser+tag
support+info@test.company.co.uksupport+info

従来は LEFTFINDの組み合わせで書く必要がありましたが、
今は 1関数でスッキリ です。


③ “+ エイリアス” を無視してアカウント名を取り出す

Gmail などでは user+tag@example.com のように、
「+ 以降」を使ってフォルダー振り分けをするエイリアス機能が人気です。
ビジネス集計では 純粋なユーザー名(+より左) だけ欲しいことが多いですよね。
その場合はIFERROR関数を組み合わせます。

■ 式

=IFERROR(TEXTBEFORE(TEXTBEFORE(A2,"@"),"+"), TEXTBEFORE(A2,"@"))

■ 仕組みを分解

  1. TEXTBEFORE(A2,"@") …… ローカル部(user+tag)を取得
  2. TEXTBEFORE(①,"+") …… 「+ の前」だけを取り出す。
    ・「+」が無いと #N/A エラーになります。
  3. IFERROR(②, ①) …… エラー時は ①のローカル部をそのまま返す

■ 結果イメージ

元アドレス+無視で取得
taro.yamada@example.comtaro.yamada
user+tag@myapp.iouser
support+info@test.company.co.uksupport

ワンポイント: 複数の「+」があっても、最初の「+」より左だけを返します。
「+」が無い通常アドレスでは、②がエラー → ①を返すので安心設計です。


まとめ

  • ドメインだけ欲しいTEXTAFTER 一発。
  • アカウント名だけTEXTBEFORE 一発。
  • + エイリアスは除外IFERROR(TEXTBEFORE(TEXTBEFORE …), …)

コメント