TEXTBEFORE関数 – 文字列操作

TEXTBEFORE関数 – 指定した文字列の前のテキストを抽出する関数


1. 使い方と活用例

TEXTBEFORE関数は、指定した区切り文字や文字列の「直前にあるテキスト」を抽出する関数です。
文字列の前半部分を取り出したいときや、特定の記号・文字の前にある情報を抜き出す場合に便利です。
TEXTAFTER関数と対になって使われることが多く、柔軟なテキスト処理が可能です。

2. 基本の書式

=TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])

3. 引数の説明

  • text – 対象となる文字列を指定します。
  • delimiter – 区切りとなる文字列や記号を指定します。
  • [instance_num] – (省略可能)何番目に現れる区切り文字の前の部分を取得するかを指定します(既定値は1)。
  • [match_mode] – (省略可能)区切り文字の大文字小文字の区別:0=区別する(既定)、1=区別しない。
  • [match_end] – (省略可能)文字列の末尾の一致も区切りとして認識するか:0=しない(既定)、1=する。
  • [if_not_found] – (省略可能)区切り文字が見つからなかった場合に返す値。

4. 使用シーン

  • メールアドレスからユーザー名(@より前)を取り出す
  • ファイル名から拡張子を除いた名前部分を取得する
  • 日付やコードの前半部分のみを切り出す

5. 応用のポイント

instance_numを使うことで、2番目や3番目の区切りの前のテキストを抽出可能です。
if_not_foundに指定した値を返すことで、区切り文字が存在しない場合のエラー回避ができます。
TEXTAFTER関数と組み合わせれば、文字列の前後を自在に切り出せる柔軟なテキスト操作が可能です。

6. 具体例とその解説

=TEXTBEFORE("user@example.com", "@")

この式では「@」の前にある文字列(つまり「user」)が返されます。
メールアドレスからユーザー名部分を取り出す代表的な使い方です。

=TEXTBEFORE("report_2025_Q1_final.xlsx", "_", 3)

この例では、「_」が3回目に出現する前の部分(=「report_2025_Q1」)が返されます。
ファイル名の先頭情報のみを抽出したい場合などに有効です。

7. 関連関数の紹介

  • TEXTAFTER関数 – 指定した区切り文字の後の文字列を抽出する関数
  • TEXTSPLIT関数 – 区切り文字で分割して配列として返す関数
  • MID関数 – 指定した位置から文字列を抽出する汎用関数
  • LEFT関数 – 左端から指定文字数を抽出する関数

8. まとめ

TEXTBEFORE関数は、文字列の中から特定の区切りの「前」にある情報を簡単に取り出せる便利な関数です。
区切りの回数や、見つからなかった場合の動作まで細かく制御でき、テキスト処理の効率化に役立ちます。

9. 対応バージョン

TEXTBEFORE関数はExcel 365およびExcel 2021以降で利用可能です。
それ以前のバージョンでは使用できないため、LEFT、FIND関数などを組み合わせて代用する必要があります。