Excel の「TEXTSPLIT関数」とは、指定した「テキスト」を指定した「区切り記号」で分割する関数です。分割された「テキスト」は入力セルから順に隣接した複数セルに流し込むように並べて表示されます。
![]()
たとえば「A1」セルに「東京都 武蔵野市 吉祥寺」というテキストが入力されていて、これを半角スペース「" "」により分割したいとき、「B1」セルに「TEXTSPLIT関数」を使った以下の式を挿入します。
=TEXTSPLIT(A1," ")
これで「B1」には「東京都」、「C1」には「武蔵野市」、「D1」には「吉祥寺」が流し込むように並べて(スピル)表示されます。

「TEXTSPLIT関数」の第1引数にはセル参照の「A1」ではなく、分割したい「テキスト」そのものを「""」で括って入力もできます。
=TEXTSPLIT("東京都 武蔵野市 吉祥寺"," ")
![]()
英語の「SPLIT(スプリット)」には「割る」「分割する」といった意味があり、「TEXTSPLIT」はまさに「テキストを分割する」ということになります。
「TEXTSPLIT関数」の構文には、多くの引数が用意されています。
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])
引数は以下の通り。
- text(必ず指定):分割するテキスト
- col_delimiter:
列間でテキストをスピルする「区切り文字」:列区切り
※「delimiter(デリミター)」は「区切り文字」の意味 - row_delimiter(省略可能):
テキストを下の行に書き込む「区切り文字」:行区切り - ignore_empty(省略可能):
連続する区切り記号を無視するには TRUE を指定します。
(既定値は FALSE で、空のセルを作成) - match_mode(省略可能):
大文字と小文字を区別しない一致を実行するには 1 を指定
(既定値は 0 で、大文字と小文字を区別する一致を実行) - pad_with(省略可能):
結果を埋め込む値(既定値は #N/A)
省略可能な引数を削除した以下の式が基本となります。
=TEXTSPLIT(text, col_delimiter)
第3引数「row_delimiter」を使う場合は、たとえば 2つの住所をカンマ区切りで並べたテキストが「A1」にあるとしましょう。
東京都 武蔵野市 吉祥寺,大阪府 大阪市 此花区
そして「B1」に以下の式を挿入します。
=TEXTSPLIT(A1," ",",")
これで
「B1」に「東京都」、「C1」に「武蔵野市」、「D1」に「吉祥寺」
「B2」に「大阪府」、「C2」に「大阪市」、「D2」に「此花区」
といった感じで 2行に渡ってスピル表示されます。
![]()
複数の「区切り文字」を指定したいときには「配列式」を使います。
たとえば半角スペース「" "」でも全角スぺース「" "」でも分割したいときは「波括弧 { } 」で二つの「区切り文字」を括って
{" "," "}
と表現すればいいので、たとえば以下のような式になります。
=TEXTSPLIT(A1,{" "," "})
![]()
もし「区切り文字」が連続するときに無視したい場合は、第4引数の「ignore_empty」を「TRUE」にします。
=TEXTSPLIT(A1,{" "," "},,TRUE)
これなら「武蔵野市」と「吉祥寺」の間にスペースが 2回連続で入力されていても「東京都」「武蔵野市」「吉祥寺」となります。
逆に第4引数「ignore_empty」を「FALSE」にして
=TEXTSPLIT(A1,{" "," "},,FALSE)
とすると、空のセルが「武蔵野市」と「吉祥寺」の間に入ります。
![]()
もしも、テキストの先頭と末尾、さらに単語間で重複している不要なスペースを一括で削除したいときは「TRIM関数」を使います。
このあたりの関数をうまく組み合わせること、スペースで区切られたテキストを賢く処理できます。
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。
