概要
メールアドレスから「ユーザー部分(@より前の文字列)」を取り出したいときは、LEFT関数+SEARCH関数を組み合わせます。SEARCHで「@」の位置を調べ、その直前までをLEFTで切り出す仕組みです。これにより、アドレスのユーザー名部分だけを簡単に取得できます。
基本の使い方
書式
=LEFT(メールアドレスセル, SEARCH("@",メールアドレスセル)-1)
SEARCH("@",メールアドレスセル):メールアドレス内の「@」の位置を取得-1:@の直前までを対象にするために調整LEFT:先頭から指定文字数分を切り出す
例
=LEFT("user@example.com",SEARCH("@","user@example.com")-1)
// 結果: "user"
具体例
セル参照でユーザー部分を取得
=LEFT(A2,SEARCH("@",A2)-1)
A2が「taro@yamada.co.jp」なら結果は「taro」。
ドメインが異なる場合でも同じ式で対応
=LEFT(B2,SEARCH("@",B2)-1)
B2が「hanako@gmail.com」なら結果は「hanako」。
数字や記号を含むユーザー部分もそのまま取得
=LEFT(C2,SEARCH("@",C2)-1)
C2が「abc123-test@domain.net」なら結果は「abc123-test」。
応用テンプレート
IFERRORでエラー対策
=IFERROR(LEFT(D2,SEARCH("@",D2)-1),"@がありません")
「@」が含まれない場合は「@がありません」と表示。
ユーザー部分+固定ラベルを組み合わせる
="ユーザー:" & LEFT(E2,SEARCH("@",E2)-1)
E2が「suzuki@company.jp」なら「ユーザー:suzuki」と表示。
ユーザー部分を抽出して別の処理に利用
=UPPER(LEFT(F2,SEARCH("@",F2)-1))
ユーザー部分を大文字に変換して表示。
よくあるつまずきと対策
「@」が複数ある場合
SEARCHは最初の「@」を返します。通常のメールアドレスは1つだけなので問題ありませんが、特殊な文字列では注意が必要です。
「@」がない場合
エラーになります。IFERRORで補うと安心です。
ユーザー部分を数値として扱いたい場合
LEFTの結果は文字列です。数値に変換したい場合はVALUE関数を組み合わせます。
例題
問題1: A2セルの「taro@yamada.co.jp」からユーザー部分をB2に表示してください。
解答例:
=LEFT(A2,SEARCH("@",A2)-1)
問題2: C2セルの「hanako@gmail.com」からユーザー部分をD2に表示してください。
解答例:
=LEFT(C2,SEARCH("@",C2)-1)
問題3: E2セルの「abc123-test@domain.net」からユーザー部分をF2に表示してください。
解答例:
=LEFT(E2,SEARCH("@",E2)-1)
問題4: G2セルの文字列に「@」が含まれない場合は「@がありません」とH2に表示してください。
解答例:
=IFERROR(LEFT(G2,SEARCH("@",G2)-1),"@がありません")
問題5: I2セルのメールアドレスからユーザー部分を抽出し、大文字に変換してJ2に表示してください。
解答例:
=UPPER(LEFT(I2,SEARCH("@",I2)-1))
まとめ
メールアドレスからユーザー部分を取り出すには LEFT+SEARCH の組み合わせが基本です。
- SEARCHで「@」の位置を探す
- LEFTでその直前までを切り出す
- IFERRORでエラー対策を加える
この流れを覚えれば、メールアドレスの整理やユーザー名の抽出がスムーズにできます。講師として強調したいのは「検索関数で位置を特定し、切り出し関数で抽出する」という考え方。これを習得すれば、Excelでの文字列処理がさらに自在になります。
