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関数などを組み合わせて代用する必要があります。