【Excel】メールアドレスからユーザー名を抽出する方法|FIND・LEFT関数とTEXTBEFOREの使い方

当ページのリンクには広告が含まれています。
メールアドレスからユーザー名(@前)だけを抽出

エクセルで大量のメールアドレスを扱うとき、「@の前のユーザー名だけを取り出したい」と思ったことはありませんか?
たとえば、

  • 顧客リストからユーザー名だけを抽出したい
  • ログインIDや社内アカウントを整理したい
  • 「@」以降のドメイン部分を削除したい

そんなときに便利なのが、Excelの「FIND関数」と「LEFT関数」を組み合わせる方法です。

この記事では、FIND関数とLEFT関数を使ってメールアドレスからユーザー名を取り出す方法を、初心者にも分かりやすく紹介します。あわせて、Excel 365やExcel 2024などで使えるTEXTBEFORE関数を使った簡単な方法、エラーが出たときの対処法も整理します。

目次

「@」の位置を特定して、前の文字列を取り出す

なお、メールアドレスに使われる「@」は半角です。全角の「@」を式に入れると、正しく検索できない場合があります。この記事では、数式内の「@」は半角で入力してください。

まず、メールアドレス内の「@」が何文字目にあるかを調べます。
ここで使うのが FIND関数 です。

FIND関数で、「@」の位置を求める

FIND(検索文字列, 対象文字列)

たとえば、セルA3に「ichiro_sato@gmail.com」と入力されている場合、
次の式を入力します。

=FIND(“@”,A3)

「検索文字列」には「@」、「対象文字列」にはセルA3を指定します。

この式は、A3の中で「@」が何文字目にあるかを数値で返します。
結果が「12」であれば、「@」は12文字目にあるという意味です。

LEFT関数で対象の文字を取り出す

「@」の前の文字列だけを取り出すには LEFT関数を使います。

LEFT(文字列, 文字数)

FIND関数で「@」の位置を求めたら、LEFT関数で左端から「@」の1つ前までの文字を取り出します。
-1 をすることで「@」の前までの文字列だけを抽出。
結果として、メールアドレスのユーザー名部分だけが取り出せます。

=LEFT(A3,FIND(“@”,A3)-1)

この式では、「A3の左端から、@の1つ前までの文字」を取り出します。
FIND関数で求めた「@の位置」から「-1」しているのは、@自体を除外するためです。

結果として、「ichiro_sato@gmail.com」から「ichiro_sato」だけを抽出できます。

Excel 365やExcel 2024ならTEXTBEFORE関数でも抽出できる

Excel 365やExcel 2024などを使っている場合は、TEXTBEFORE関数を使う方法もあります。

TEXTBEFORE関数は、指定した文字より前にある文字列を取り出す関数です。メールアドレスから「@」より前のユーザー名だけを取り出したい場合は、次の式で抽出できます。

=TEXTBEFORE(A3,”@”)

たとえば、セルA3に「ichiro_sato@gmail.com」と入力されている場合、この式を使うと「ichiro_sato」だけを取り出せます。

FIND関数とLEFT関数を組み合わせる方法に比べて、式が短く分かりやすいのがメリットです。

ただし、TEXTBEFORE関数はすべてのExcelで使えるわけではありません。古いExcelを使っている場合は、この記事で紹介しているFIND関数とLEFT関数を組み合わせる方法を使うと安心です。

複数のメールアドレスでも応用可能

この式を下のセルにコピーすれば、複数のメールアドレスから一括でユーザー名だけを抽出できます。

顧客名簿や会員データなど、大量のリスト整理にも使える便利な方法です。さらに、関数を別シートで活用すれば、元データを壊さずに安全に処理できます。

メールアドレスの整理や顧客リストの加工は、Excel関数を覚えると作業時間を大きく減らせます。

特に、FIND関数・LEFT関数・MID関数のような文字列操作は、名簿管理、会員データ整理、社内資料の作成などでよく使います。

「関数をその場しのぎで調べるだけでなく、Excelの基本からまとめて覚えたい」という場合は、オンライン講座で体系的に学ぶ方法もあります。

応用:ドメイン名(@以降)を取り出す方法

逆に「@」の後ろのドメイン部分だけを取りたい場合は、MID関数を使います。

=MID(A3,FIND(“@”,A3)+1,LEN(A3))

この式では、「@」の直後から文字列の末尾までを取り出します。
たとえば「ichiro_sato@gmail.com」から「gmail.com」が抽出できます。

ユーザー名とドメインを分けることで、
「どのメールサービスを使っている人が多いか」などの分析にも活用できます。

よくあるエラーと対処法

1. 「@が見つかりません」エラー(#VALUE!)

メールアドレスに「@」が含まれていない場合、このエラーが出ます。

=IFERROR(LEFT(A3,FIND(“@”,A3)-1),”@なし”)

これで、「@」がないセルには「@なし」と表示されます。

2. 空白の混入による抽出ミス

コピペしたデータに空白が含まれていると、正しく抽出できないことがあります。
➡ その場合は TRIM関数で空白を削除してから処理します。

=LEFT(TRIM(A3),FIND(“@”,TRIM(A3))-1)

まとめ

スクロールできます
目的使用関数式の例
ユーザー名を抽出FIND+LEFT=LEFT(A3,FIND(“@”,A3)-1)
ユーザー名を簡単に抽出TEXTBEFORE=TEXTBEFORE(A3,”@”)
ドメインを抽出FIND+MID=MID(A3,FIND(“@”,A3)+1,LEN(A3))
エラー回避付きIFERROR+LEFT=IFERROR(LEFT(A3,FIND(“@”,A3)-1),”@なし”)
空白対策付きTRIM+FIND+LEFT=LEFT(TRIM(A3),FIND(“@”,TRIM(A3))-1)

Excel関数を使えば、メールアドレスからユーザー名やドメインを簡単に取り出せます。

基本は、FIND関数で「@」の位置を調べ、LEFT関数でその前の文字列を取り出す方法です。Excel 365やExcel 2024などを使っている場合は、TEXTBEFORE関数を使うと、より短い式で同じ処理ができます。

顧客リストや会員データ、社内アカウント一覧を整理するときに役立つので、メールアドレスを扱う機会が多い方は覚えておくと便利です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次