当ブログ連載の中にちょこっと顔を出していた関数なのですが、改めてまとめてご紹介します。
文字列を分割したり一部を取り出したりする「TEXTBEFORE」「TEXTAFTER」「TEXTSPLIT」関数で、Excel 2024と Microsoft 365の Excel、Web版Excelで利用できます。
Excelの「TEXTBEFORE」「TEXTAFTER」「TEXTSPLIT」関数は、区切り文字(スペースやカンマなど)を基準に文字列を抽出・分割する強力な関数です。
従来の複雑な「LEFT/RIGHT/FIND」関数を組み合わせる手間を劇的に削減します。
- TEXTBEFORE 関数(前を取得)
指定した区切り文字よりも前にある文字列を抽出します。- 構文: =TEXTBEFORE(テキスト, 区切り文字)
オプション引数もあり、詳細は下記サポートページをご参照ください:
=TEXTBEFORE(テキスト, 区切り文字, [番号], [検索モード], [既定値], [既定値]) - 例: A1セルが「田中_太郎」の場合、=TEXTBEFORE(A1, "_") → 「田中」
- 活用: メールアドレスのユーザー名抽出、姓と名の分割。
- 構文: =TEXTBEFORE(テキスト, 区切り文字)
- TEXTAFTER 関数(後を取得)
指定した区切り文字よりも後ろにある文字列を抽出します。- 構文: =TEXTAFTER(テキスト, 区切り文字)
オプション引数もあり、詳細は下記サポートページをご参照ください:
=TEXTAFTER(テキスト, 区切り文字, [番号], [検索モード], [既定値], [既定値]) - 例: A1セルが「田中_太郎」の場合、=TEXTAFTER(A1, "_") → 「太郎」
- 活用: ドメイン名の抽出、URLのパス部分の取得。
- 構文: =TEXTAFTER(テキスト, 区切り文字)
- TEXTSPLIT 関数(分割してセルに展開)
区切り文字でテキストを分割し、結果を別々のセルに「スピル(自動展開)」します。- 構文: =TEXTSPLIT(テキスト, 区切り文字)
オプション引数もあり、詳細は下記サポートページをご参照ください:
=TEXTSPLIT(テキスト, 区切り文字, [縦区切り文字], [空白処理], [一致モード], [列数不足時の代替値]) - 例: A1セルが「A-B-C」の場合、=TEXTSPLIT(A1, "-") → 「A」「B」「C」が横に並ぶ。
- 特徴: 縦に分割したい場合は、第3引数 縦区切り文字を使います。
- 構文: =TEXTSPLIT(テキスト, 区切り文字)
主な特徴と応用
- 複数区切り文字: {"-", "_"} のように指定すると、ハイフンでもアンダースコアでも分割可能。
- ネスト対応: INDEX関数と組み合わせると、分割したうちの特定の要素だけを取り出せます。
これらの関数は、データ整形において非常に便利です。
なお、それぞれの関数について Microsoftのサポートページ「TEXTBEFORE 関数」「TEXTAFTER 関数」「TEXTSPLIT 関数」が提供されていますので、詳しくはそちらをご参照ください。
それぞれのサポートページに「使用例」も掲示されていますので、今回は例示は省略します。