クイックナビゲーション
TEXTBEFORE関数
概要
TEXTBEFORE関数は、指定した区切り文字の前に出現するテキストを抽出します。TEXTAFTER関数の反対機能を持ち、文字列の前半部分を簡単に取得できます。メールアドレスやURL、パス名から特定の部分を分離するのに最適です。
構文
=TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| text | Text |
はい | 検索対象のテキスト。空文字列の場合は空テキストを返す。 |
| delimiter | Text |
はい | 抽出前の位置をマークする区切り文字。 |
| instance_num | Number |
いいえ | 区切り文字のインスタンス番号。負数で末尾から検索。 |
| match_mode | Number |
いいえ | 0=大文字小文字区別、1=区別しない。 |
| match_end | Number |
いいえ | 0=末尾不一致、1=末尾一致。 |
| if_not_found | Any |
いいえ | 一致なし時の戻り値。 |
TEXTBEFORE関数の使用
TEXTBEFOREは文字列処理を大幅に簡素化します。複雑なLEFT+SEARCH+FINDの組み合わせを1つの関数で代替。データクレンジング、ログ解析、CSV処理などで特に有効です。
TEXTBEFOREの一般的な例
基本的な区切り文字抽出
=TEXTBEFORE("赤ずきんちゃんの赤いフード","赤い")
「赤ずきんちゃんの」を返します。
複数インスタンス指定
=TEXTBEFORE("[email protected]","@")
「email」を返します。メールアドレスのユーザー部分取得。
後方からの検索
=TEXTBEFORE("ファイルパス/ドキュメント.txt","/",-1)
「ファイルパス」を返します。最後のスラッシュ手前。
大文字小文字無視
=TEXTBEFORE("Product-Code-123","code",1,1)
「Product-」を返します(小文字区別なし)。
見つからない場合のカスタム値
=TEXTBEFORE(A1,"@","見つかりません")
区切り文字がない場合は「見つかりません」を返す。
よくある質問
LEFTは文字数指定、TEXTBEFOREは区切り文字指定。位置が不明な場合にTEXTBEFOREが優位。
テキスト末尾から検索開始。-1は最後の一致、-2は最後から2番目。
前方検索時は空文字列、後方検索時は全文を返す。
一般的なエラーと解決策
#VALUE! エラー
Cause: instance_num=0、または数値範囲外
Solution: 有効なインスタンス番号(1以上または-1以下)を指定
#N/A エラー
Cause: 区切り文字が見つからない
Solution: if_not_found引数で代替値を指定、または区切り文字確認
注記
- Excel 365、Excel 2021以降で利用可能
- TEXTAFTER関数とセットで使用すると強力
- TEXTSPLITとの連携で高度な文字列分割が可能
- 日本語文字列でも正常動作
互換性
利用可能: Excel 365, Excel 2021, Microsoft 365
利用不可: Excel 2019以前, Excel 2016以前
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021+