サラリーマン戦士が語る、TEXTAFTER・TEXTSPLITと組み合わせて最強化する文字列処理テクニック
Excelで文字列処理をしていると、 「ハイフンの前だけ取りたい」 「メールアドレスの @ の前を取りたい」 「商品コードのカテゴリ部分だけ抽出したい」 「複数区切りの“最初の要素”を取りたい」 といった場面が必ずあります。
従来は LEFT / FIND / MID を組み合わせて、 複雑な式を書かなければなりませんでした。
しかし、最新Excelで登場した TEXTBEFORE(テキストビフォア)関数 が、 この悩みをすべて解決してくれます。
TEXTBEFOREは、 指定した区切り文字の“前側”を一瞬で抽出できる最新関数 で、 文字列処理の手間を劇的に減らす“革命的な関数”です。
この記事では、TEXTBEFOREの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。
🔍 TEXTBEFORE関数 の書式
コード
=TEXTBEFORE(文字列, 区切り文字, [出現番号], [空白無視], [一致モード], [先頭一致], [パディング])
✔ 引数の意味
- 文字列:対象となる文字列
- 区切り文字:基準となる区切り
- 出現番号(任意):何番目の区切りを使うか(-1で最後)
- 空白無視(任意):TRUEで余分な空白を無視
- 一致モード(任意):大文字小文字の区別など
- 先頭一致(任意):先頭から検索するか
- パディング(任意):不足セルに入れる値
📘 基本例:ハイフンの“前側”を取得
A2
コード
ABC-123-XYZ
▶ 使用する式
コード
=TEXTBEFORE(A2, "-")
→ ABC を返します。
📘 最後の区切りの“前側”を取得(出現番号 -1)
コード
=TEXTBEFORE(A2, "-", -1)
→ ABC-123 を返します。
複数区切りがある文字列で非常に便利です。
🎯 メールアドレスのユーザー名部分を取得
A2
コード
taro.yamada@example.com
▶ 使用する式
コード
=TEXTBEFORE(A2, "@")
→ taro.yamada を取得できます。
🔥 スペース区切りの氏名から「姓」だけ取得
A2
コード
山田 太郎
▶ 使用する式
コード
=TEXTBEFORE(A2, " ")
→ 山田 を返します。
🔥 複数区切り文字に対応(TEXTSPLITとの違い)
例:「A-123/XYZ」から最初の要素を取得
コード
=TEXTBEFORE(A2, {"/","-"})
→ A を返します。
複数区切りに対応できるのはTEXTBEFOREの強みです。
🧩 TEXTAFTER と組み合わせる(相性最強)
TEXTBEFOREは、TEXTAFTERと組み合わせることで “前後の抽出”が自由自在になります。
TEXTAFTERについては TEXTAFTER関数 を参照ください。
■ 最初の要素だけ取得(TEXTBEFORE)
コード
=TEXTBEFORE(A2, "-")
→ ABC
■ 最後の要素だけ取得(TEXTAFTER)
コード
=TEXTAFTER(A2, "-", -1)
→ XYZ
📅 日付文字列から「年」だけ取得
A2
コード
2026/04/25
▶ 使用する式
コード
=TEXTBEFORE(A2, "/")
→ 2026 を返します。
📊 商品コードを分割して管理項目に
A2
コード
ABC-123-RED
▶ カテゴリ(最初の要素)
コード
=TEXTBEFORE(A2, "-")
→ ABC
▶ 番号(2番目の要素)
コード
=TEXTBEFORE(TEXTAFTER(A2, "-"), "-")
→ 123
▶ 色(最後の要素)
コード
=TEXTAFTER(A2, "-", -1)
→ RED
🧠 TEXTBEFORE × FILTER で“必要な部分だけ抽出”
例:商品コードのカテゴリが「ABC」のものだけ抽出
コード
=FILTER(A2:A100, TEXTBEFORE(A2:A100, "-")="ABC")
FILTERについては FILTER関数 を参照ください。
🛠 よくあるミスと注意点
❗ 1. 区切り文字は“完全一致”で判定
半角/全角の違いに注意します。
❗ 2. 出現番号を指定しないと最初の区切りが使われる
最後の要素の前を取りたいときは -1 を使います。
❗ 3. 見つからない場合はエラー
IFERRORで包むと安全です。
コード
=IFERROR(TEXTBEFORE(A2, "-"), "")
❗ 4. TEXTSPLITとは役割が違う
- TEXTBEFORE → “前側”を取る
- TEXTAFTER → “後ろ側”を取る
- TEXTSPLIT → “全部”を分割する
📊 TEXTBEFORE と TEXTSPLIT の違い
| 目的 | TEXTBEFORE | TEXTSPLIT |
|---|---|---|
| 区切りの前を取得 | ◎ | △ |
| 最初の要素を取得 | ◎ | △ |
| 全要素を分割 | △ | ◎ |
| 複数区切り | ◎ | ◎ |
🧑💼 サラリーマン戦士が実際に使ってみた感想
TEXTBEFOREを使い始めて感じたのは、 「文字列処理の自由度が一気に上がる」 ということです。
特に、
- 商品コードのカテゴリ抽出
- 氏名の姓部分の抽出
- メールアドレスのユーザー名取得
- 最初の要素だけ取りたい場面
- TEXTAFTERと組み合わせた柔軟な整形
これらが 1つの関数で完結 するのは革命的です。
従来の LEFT / FIND を組み合わせていた頃には戻れません。
🧩 TEXTBEFOREの実務的な応用アイデア
- 商品コードのカテゴリを抽出
- 氏名の姓部分を抽出
- メールアドレスのユーザー名を取得
- URLのドメイン前部分を取得
- TEXTAFTERと組み合わせて柔軟な分割
- FILTERと組み合わせて条件抽出
特に、 「TEXTBEFORE → TEXTAFTER → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。
📝 まとめ:TEXTBEFOREは“前側抽出の最強ツール”
- 区切り文字の前側を一瞬で取得できます
- 最初の要素を取るのに最強
- TEXTAFTER / TEXTSPLIT と組み合わせると最強
- 商品コード・氏名・メールアドレスなどに最適
- 従来の文字列処理を圧倒的に効率化できます
Excelで文字列処理を効率化したいなら、 TEXTBEFORE関数は必ず覚えておきたい最新関数です。
コメントを残す