Excel関数入門:TEXTBEFORE関数の使い方【特定の文字より前の文字列を抽出】

メールアドレスやファイル名など、
「特定の文字の前だけを取り出したい」といった場面はありませんか?

たとえば「example@gmail.com」から「@」より前の「example」だけを抜き出したいとき、手作業で編集すると手間がかかります。

そんなときに便利なのが、TEXTBEFORE関数 です。
この関数を使えば、指定した文字の前の部分を一瞬で抽出できます。


PR

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関数はシンプルで強力なツールです。