当ブログ連載の中にちょこっと顔を出していた関数なのですが、改めてまとめてご紹介します。
文字列を分割したり一部を取り出したりする「TEXTBEFORE」「TEXTAFTER」「TEXTSPLIT」関数で、Excel 2024と Microsoft 365の Excel、Web版Excelで利用できます。

Excelの「TEXTBEFORE」「TEXTAFTER」「TEXTSPLIT」関数は、区切り文字(スペースやカンマなど)を基準に文字列を抽出・分割する強力な関数です。
従来の複雑な「LEFT/RIGHT/FIND」関数を組み合わせる手間を劇的に削減します。

  1. TEXTBEFORE 関数(前を取得)
    指定した区切り文字よりも前にある文字列を抽出します。
    • 構文: =TEXTBEFORE(テキスト, 区切り文字)
      オプション引数もあり、詳細は下記サポートページをご参照ください:
        =TEXTBEFORE(テキスト, 区切り文字, [番号], [検索モード], [既定値], [既定値])
    • 例: A1セルが「田中_太郎」の場合、=TEXTBEFORE(A1, "_") → 「田中」
    • 活用: メールアドレスのユーザー名抽出、姓と名の分割。
  2. TEXTAFTER 関数(後を取得)
    指定した区切り文字よりも後ろにある文字列を抽出します。
    • 構文: =TEXTAFTER(テキスト, 区切り文字)
      オプション引数もあり、詳細は下記サポートページをご参照ください:
        =TEXTAFTER(テキスト, 区切り文字, [番号], [検索モード], [既定値], [既定値])
    • 例: A1セルが「田中_太郎」の場合、=TEXTAFTER(A1, "_") → 「太郎」
    • 活用: ドメイン名の抽出、URLのパス部分の取得。
  3. TEXTSPLIT 関数(分割してセルに展開)
    区切り文字でテキストを分割し、結果を別々のセルに「スピル(自動展開)」します。
    • 構文: =TEXTSPLIT(テキスト, 区切り文字)
      オプション引数もあり、詳細は下記サポートページをご参照ください:
        =TEXTSPLIT(テキスト, 区切り文字, [縦区切り文字], [空白処理], [一致モード], [列数不足時の代替値])
    • 例: A1セルが「A-B-C」の場合、=TEXTSPLIT(A1, "-") → 「A」「B」「C」が横に並ぶ。
    • 特徴: 縦に分割したい場合は、第3引数 縦区切り文字を使います。


主な特徴と応用

  • 複数区切り文字: {"-", "_"} のように指定すると、ハイフンでもアンダースコアでも分割可能。
  • ネスト対応: INDEX関数と組み合わせると、分割したうちの特定の要素だけを取り出せます。

これらの関数は、データ整形において非常に便利です。

なお、それぞれの関数について Microsoftのサポートページ「TEXTBEFORE 関数」「TEXTAFTER 関数」「TEXTSPLIT 関数」が提供されていますので、詳しくはそちらをご参照ください。
それぞれのサポートページに「使用例」も掲示されていますので、今回は例示は省略します。