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

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

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

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

そんなときに便利なのが、Excelの「FIND関数」と「LEFT関数」を組み合わせる方法です。
この記事では、初心者でもすぐ使える具体的な手順と、作業を効率化するコツをわかりやすく解説します。

目次

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

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

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

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

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

FIND(“@”,A3)

「検索文字列」=「@」を「対象」=「セルA3」の文字列の左端の「開始位置」から検索し最初に現れる位置を数値で求めます。

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

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

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

LEFT(文字列, 文字数)

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

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

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

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

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

この式を下のセルにコピーすれば、複数のメールアドレスから一括でユーザー名だけを抽出できます。
顧客名簿や会員データなど、大量のリスト整理にも使える便利なテクニックです。

さらに、関数を別シートで活用すれば、元データを壊さずに安全に処理できます。
「抽出列」として使えば、後から分析や並べ替えもしやすくなります。

データベースやリストの整理にも便利で、業務効率が大幅にアップします

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

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

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

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

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

よくあるエラーと対処法

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

メールアドレスに@が含まれていない場合、このエラーが出ます。
IFERROR関数で回避するのがおすすめです。

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

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

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

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

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

まとめ

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

エクセル関数を使えば、メールアドレスの分解や整理が驚くほど簡単にできます。
特に顧客データや会員リストを扱う場面では、知っておくと作業効率が格段に上がります。

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

コメント

コメントする

目次