サラリーマン戦士が語る、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 の違い

目的TEXTBEFORETEXTSPLIT
区切りの前を取得
最初の要素を取得
全要素を分割
複数区切り

🧑‍💼 サラリーマン戦士が実際に使ってみた感想

TEXTBEFOREを使い始めて感じたのは、 「文字列処理の自由度が一気に上がる」 ということです。

特に、

  • 商品コードのカテゴリ抽出
  • 氏名の姓部分の抽出
  • メールアドレスのユーザー名取得
  • 最初の要素だけ取りたい場面
  • TEXTAFTERと組み合わせた柔軟な整形

これらが 1つの関数で完結 するのは革命的です。

従来の LEFT / FIND を組み合わせていた頃には戻れません。

🧩 TEXTBEFOREの実務的な応用アイデア

  • 商品コードのカテゴリを抽出
  • 氏名の姓部分を抽出
  • メールアドレスのユーザー名を取得
  • URLのドメイン前部分を取得
  • TEXTAFTERと組み合わせて柔軟な分割
  • FILTERと組み合わせて条件抽出

特に、 「TEXTBEFORE → TEXTAFTER → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

📝 まとめ:TEXTBEFOREは“前側抽出の最強ツール”

  • 区切り文字の前側を一瞬で取得できます
  • 最初の要素を取るのに最強
  • TEXTAFTER / TEXTSPLIT と組み合わせると最強
  • 商品コード・氏名・メールアドレスなどに最適
  • 従来の文字列処理を圧倒的に効率化できます

Excelで文字列処理を効率化したいなら、 TEXTBEFORE関数は必ず覚えておきたい最新関数です。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です