Excelで氏名データを扱っていると、
- 「姓」と「名」を別々の列に分けたい
- スペース区切りのデータを整理したい
- CSVやシステム出力を列ごとに分割したい
と思うことはありませんか?
従来は、FIND関数やLEFT関数、MID関数を組み合わせる必要があり、数式が複雑になりがちでした。
さらに実務では、
- 半角スペース
- 全角スペース
が混在していることも多く、数式管理がかなり大変です。
こうした文字列分割を簡単にできるのが、Excelの「TEXTSPLIT関数」です。
TEXTSPLIT関数を使うことで、一発で文字列を分割できます。
本記事では、
- TEXTSPLIT関数の使い方
- FIND関数との違い
- 半角・全角スペース混在への対応
- 実務で便利な活用例
- よくあるエラーやFAQ
まで、実務目線でわかりやすく解説します。
Excelでは、「文字列を分割したい」だけでなく、「数字だけ取り出したい」というケースもあります。
👉商品コードや型番から数値を抽出したい場合は、こちらの記事もおすすめです。
Excelで名前を姓・名に分ける方法【TEXTSPLIT】
まずは、TEXTSPLIT関数を使って氏名を分割する方法を紹介します。
使用する数式
例えば、A列に次のようなデータがあるとします。

この場合、次の数式を入力します。
=TEXTSPLIT(A2,” “)
実行結果
数式を入力すると、自動的に横方向へ展開されます。

TEXTSPLIT関数は「区切り文字」を基準にデータを分割します。
今回の場合は ” ” (半角スペース)を区切り文字として指定しています。
TEXTSPLIT関数とは?
TEXTSPLIT関数は、区切り文字を基準に文字列を自動分割できる関数です。
氏名分割やCSV整理など、実務のデータ加工で非常に便利です。
TEXTSPLIT関数の構文
TEXTSPLIT関数の構文は以下のとおりです。
=TEXTSPLIT(テキスト,列区切り記号,[行区切り記号],[空のセルは無視],[一致モード],[パディング値])それぞれの引数の意味は以下のとおりです。
| 引数 | 意味 |
|---|---|
| テキスト | 分割するテキスト |
| 列区切り記号 | 横方向(列)へ分割するときの区切り文字を指定 |
| 行区切り記号 ※省略可 | 縦方向(行)へ分割するときの区切り文字を指定 |
| 空のセルは無視 ※省略可 | 連続した区切り文字があった場合、空白セルを無視するか指定 ・TRUE=空白を無視 ※既定 ・FALSE=空白も保持 |
| 一致モード ※省略可 | 区切り文字の大文字・小文字を区別するか指定 ・0=区別する ※既定 ・1=区別しない |
| パディング値 ※省略可 | 分割後のデータ数が揃わない場合に、空欄へ入れる値を指定 |
例えば、
=TEXTSPLIT(A2,",")これは、
- A2セルの文字列を
- カンマ区切りで分割する
という意味です。
TEXTSPLIT関数の基本的な使い方
■カンマ区切りを分割する
=TEXTSPLIT(A2,",")
■改行ごとに分割する
=TEXTSPLIT(A2,CHAR(10))CHAR(10) は改行コードです。

■縦方向に分割する
第3引数を使うことで、縦方向への分割も可能です。
第2引数は空欄にしましょう。
=TEXTSPLIT(A2,,",")
■複数区切りを指定する
TEXTSPLIT関数では、{}で囲むことにより、複数の区切り文字を指定することができます。
=TEXTSPLIT(A2,{" "," "})
TEXTSPLIT関数はなぜ便利?文字列分割が劇的に楽になる理由
TEXTSPLIT関数の最大のメリットは、「複雑な文字列分割をシンプルに書ける」ことです。
特に実務では、
- 半角・全角混在
- 区切り文字が複数ある
- システム出力データが汚い
などのケースが多く、従来関数ではかなり大変でした。
従来の方法(FIND関数)は複雑になりやすい
TEXTSPLIT関数が登場する前は、FIND関数などを組み合わせて処理する必要がありました。
例えば、「山田 太郎」から姓を取り出す場合は、
=LEFT(A2,FIND(" ",A2)-1)名を取り出す場合は、
=MID(A2,FIND(" ",A2)+1,LEN(A2))のような数式が必要でした。
さらに、
- 半角スペース
- 全角スペース
が混在すると、さらに複雑になります。
=LEFT(A2,IFERROR(FIND(" ",A2),FIND(" ",A2))-1)
このように、
- FIND
- IFERROR
- LEFT
- MID
- LEN
が増えていき、管理がかなり大変になります。
TEXTSPLITなら複数区切りを簡単に指定できる
TEXTSPLIT関数では、複数の区切り文字を簡単に指定できます。
=TEXTSPLIT(A2,{" "," "})
この数式では、
- 半角スペース
- 全角スペース
両方を区切り文字として扱います。
従来関数では複雑だった処理を、シンプルに書けるのが大きなメリットです。
比較表で表すと、以下のようなイメージです。
TEXTSPLITが、多くの点で従来の方法(FIND関数)より優れています。
| 方法 | 数式の短さ | 複数区切り対応 | 保守性 |
|---|---|---|---|
| FIND関数 | △ | △ | △ |
| TEXTSPLIT関数 | ◎ | ◎ | ◎ |
TEXTSPLITは「半角・全角スペース混在」に強い
実務では、スペースが統一されていないデータが非常に多いです。
例えば、
・山田 太郎
・佐藤 花子
・鈴木 太郎
のように、半角スペースと全角スペースが混在しているケースがあります。
これは、
- CSV取込
- システム出力
- 他社データ
- Webからのコピペ
などでよく発生します。
TEXTSPLIT関数なら、先ほど紹介したように第2引数で「半角スペース」と「全角スペース」を指定するだけで柔軟に対応できます。
Excelでは、半角・全角の違いで「一致しているように見えるのに一致しない」ことがあります。
👉XLOOKUPやVLOOKUPで検索に失敗する原因にもなるため、こちらも合わせて確認しておくと便利です。
TEXTSPLIT関数の活用例【実務で便利な使い方】
TEXTSPLIT関数は、単なる「文字列分割」だけではありません。
実務データ整理でも非常に便利です。
システム出力データの整理
例えば、
1001 東京営業部 田中
のようなデータを列ごとに分割できます。
システムから出力されたデータ整理に便利です。

CSVデータの加工
東京,大阪,名古屋
のようなCSV形式データも簡単に分割できます。
=TEXTSPLIT(A2,”,”)

分割・整形したデータは、その後に検索処理へ使うケースも多いです。
👉XLOOKUPを部分一致で使いたい場合は、こちらの記事も参考になります。
商品タグの分割
例えば、
赤,青,防水,軽量
のようなタグデータ整理にも便利です。
ECサイトでは、商品タグや検索キーワードをカンマ区切りで管理していることがあります。
TEXTSPLIT関数を使えば、タグを列ごとに分割して整理できます。

TEXTSPLIT関数でデータを整理した後は、FILTER関数で必要なデータだけを抽出するとさらに便利です。
👉Excel 365の新関数を組み合わせることで、実務効率を大きく改善できます。
分割したデータから重複を除外したい場合は、UNIQUE関数も非常に便利です。
👉顧客一覧や商品タグ整理などでよく使われます。
TEXTSPLIT関数が使えない・入力できない原因
状況によっては、TEXTSPLIT関数が使えない・エラーことが発生する可能性があります。
今回は主な原因を紹介します。
Excelのバージョンが古い
TEXTSPLIT関数は、
- Excel 365
- Excel 2021以降
で利用できます。
Excel 2019以前では使用できません。
#SPILL! エラーが出る
TEXTSPLIT関数は結果を自動展開します。
展開先セルにデータが入っていると「#SPILL!」エラーになります。
不要なデータを削除してください。

TEXTSPLIT関数では、結果を自動展開する「スピル」が原因でエラーになることがあります。
👉SPILL! エラーの詳しい原因や解決方法は、こちらの記事で図解付きで解説しています。
区切り文字が一致していない
例えば、
- 全角スペース
- 半角スペース
が混在しているのに、どちらかしか指定していない場合、うまく分割できないことがあります。
その場合は、
=TEXTSPLIT(A2,{” “,” ”})
のように複数指定を使用してください。
Excelでは、文字列が自動的に日付へ変換されたり、先頭のゼロが消えたりすることがあります。
👉データ整形時によく起きるトラブルなので、こちらも合わせて確認しておくと安心です。
よくある質問(FAQ)
TEXTSPLIT関数はExcel 2019で使えますか?

使えません。
Excel 365 または Excel 2021以降で利用できます。
全角スペースだけでも分割できますか?

できます。
=TEXTSPLIT(A2,” ”)
で指定できます。
複数の区切り文字を指定できますか?

可能です。
例えば、
=TEXTSPLIT(A2,{“,”,”/”,” “})
のように、カンマ・スラッシュなど異なる区切り文字を同時に指定できます。
縦方向に分割することはできますか?

できます。
=TEXTSPLIT(A2,,”,”)
のように第3引数を使うことで、縦方向に分割することができます。
TEXTSPLITとTEXTBEFORE・TEXTAFTERの違いは何ですか?

・TEXTSPLIT → 複数に分割
・TEXTBEFORE → 区切り前を取得
・TEXTAFTER → 区切り後を取得
という違いがあります。
以下比較表をまとめてみました。

状況に応じて使い分けしてみてください。
TEXTSPLIT関数で複数セルに分割されないのはなぜ?

考えられる原因としては、
・スピル範囲不足
・区切り文字違い
・Excelバージョンが古い
が考えられます。
TEXTSPLIT以外にも、Excel 365には便利な新関数が多数追加されています。
👉FILTER・UNIQUE・XLOOKUPなどを組み合わせることで、データ整理をさらに効率化できます。
まとめ:TEXTSPLIT関数で文字列分割を効率化しよう
従来のExcelでは、
- FIND
- LEFT
- MID
- LEN
- IFERROR
などを組み合わせる必要があり、文字列分割はかなり複雑でした。
特に、
- 半角・全角スペース混在
- CSVデータ
- システム出力
- 区切り文字が複数あるデータ
への対応は大変です。
しかしTEXTSPLIT関数なら、
=TEXTSPLIT(A2,{” “,” ”})
のようなシンプルな数式だけで柔軟に処理できます。
特に、
- 氏名分割
- CSV整理
- タグ分割
- システム出力加工
など、実務で非常に便利です。
Excel 365 / Excel 2021を使っているなら、ぜひ活用してみてください。








コメント