メールアドレスやファイル名など、
「特定の文字の前だけを取り出したい」といった場面はありませんか?
たとえば「example@gmail.com」から「@」より前の「example」だけを抜き出したいとき、手作業で編集すると手間がかかります。
そんなときに便利なのが、TEXTBEFORE関数 です。
この関数を使えば、指定した文字の前の部分を一瞬で抽出できます。
TEXTBEFORE関数とは?
TEXTBEFORE関数 は、指定した区切り文字の前の文字列を取り出す関数です。
文字列を分割したり、メールアドレス・URL・ファイル名などを整形するときに役立ちます。Excel 365 / Excel 2021 以降で利用可能です。
書式
=TEXTBEFORE(文字列, 区切り文字, [出現回数], [一致モード], [末尾一致], [見つからない場合])
各引数の説明
- 文字列:分割したい文字列またはセルを指定します。
- 区切り文字:区切り文字を指定します。
- 出現回数(省略可):区切り文字が複数回出現する場合、何番目の区切り文字で区切るかを指定します。
- 一致モード(省略可):大文字・小文字を区別するかを指定します。
- 0=区別する(既定)/1=区別しない
- 末尾一致(省略可):テキストの末尾を区切り文字として扱うかを指定します。
- 0=扱わない(既定)/1=末尾を区切りとみなす
- 見つからない場合(省略可):区切り文字が見つからないときに返す値を指定します。
使用例
例:メールアドレスからユーザー名を抽出する
ここでは、複数のメールアドレスからユーザー名(@の前の部分)を取り出してみましょう。

1件ずつ手で分けるのは大変ですが、
TEXTBEFORE関数 を使えば、@の前の文字列を簡単に抽出できます。
=TEXTBEFORE(B3,"@")
この数式では、B列のメールアドレスから「@」より前の文字を抽出しています。
たとえば、セルB3の「tanaka@example.com」を指定すると、結果は「tanaka」になります。

同じように、セルB4の「yamada@sample.jp」や B5の「suzuki@excel.jp」も TEXTBEFORE関数で簡単にユーザー名部分を取り出すことができます。
活用例
TEXTBEFORE関数は、次のような場面でも活躍します
- メールアドレスから「ユーザー名」だけを抽出
- URLからドメインを除いた部分を取得
- ファイル名から拡張子(.xlsx など)を除去
- 「商品コード-商品名」など、連結データの一部だけを取得
注意点
- TEXTBEFORE関数は Excel 365 / 2021 以降 でのみ使用可能です。
- 複数の区切り文字を扱いたい場合は、正規表現(TEXTSPLIT関数など)との組み合わせが有効です。
関連関数
| 関数名 | 説明 |
|---|---|
| TEXTAFTER関数 | 指定した文字の「後ろの部分」を抽出する |
| TEXTSPLIT関数 | 指定した区切り文字で文字列を分割し、複数セルに表示する |
| LEFT関数 | 文字列の左側から指定した文字数を抽出する |
| MID関数 | 文字列の途中から指定した文字数を抽出する |
まとめ
今回のようにメールアドレスから「@」より前を抽出すれば、ユーザー名リストを自動で作成することも可能です。
データの整形やテキスト処理を効率化したいときに、TEXTBEFORE関数はシンプルで強力なツールです。