TEXTSPLIT関数の使い方|区切り文字で文字列を分割する(カンマ・スペース)

TEXTSPLIT関数の使い方|区切り文字で文字列を分割する(カンマ・スペース)

ExcelのTEXTSPLIT関数は、1つのセルの文字列を、指定した区切り文字(カンマ・スペース・ハイフンなど)で分けて、複数のセルに並べる関数です。1つの式を入れるだけで、右(と下)に結果が広がります(スピル)。この記事では、基本の使い方と、行も区切る2次元の分割までを、練習用のツールで試しながら解説します。

目次

TEXTSPLIT関数の対応バージョン

TEXTSPLIT関数は、Microsoft 365・Excel 2024・Web版のExcelで使えます。Excel 2021・2019・2016では使えません(式を入れても、#NAME? エラーになります)。

注意確認メモ:元の記事には「Excel 2016以降で使用可能」とありましたが、実際のExcelでは、TEXTSPLITはMicrosoft 365・Excel 2024・Web版のExcelの関数で、Excel 2016・2019・2021にはありません。旧バージョンでは、LEFT・MID・FIND関数や、「区切り位置」機能で分割します。

TEXTSPLIT関数の構文

TEXTSPLIT関数の構文
数式=TEXTSPLIT(テキスト,列の区切り文字,[行の区切り文字],[空のセルを無視],[一致モード],[埋める値])
ひとことで文字列を、区切り文字で分けて、複数のセルに並べる
テキスト
分割したい文字列です
列の区切り文字
右方向(列)に分ける区切り文字です
[行の区切り文字]
下方向(行)にも分けるときの区切り文字です(省略できます)
補足空のセルを無視・一致モード・埋める値も、省略できます。Microsoft 365・Excel 2024で使えます。
引数説明
テキスト分割したい文字列(セル参照でも文字列でも指定できます)
列の区切り文字文字列を、右方向(列)に分ける区切り文字です。「,」や「” – “」のように、引用符で囲みます
行の区切り文字省略できます。指定すると、下方向(行)にも分けます(2次元になります)
空のセルを無視省略できます。TRUE にすると、区切り文字が続いてできる空のセルを、結果に含めません(省略時は FALSE)
一致モード省略できます。0(省略時)は大文字小文字を区別し、1は区別しません
埋める値省略できます。行ごとに長さが違うときの、足りない部分を埋める値です(省略時は #N/A)
注意確認メモ:元の記事の構文は TEXTSPLIT(テキスト, 区切り文字, [区切り文字の数], [区切り文字の出力形式]) で、=TEXTSPLIT(A2, ",", 3, "水平") のような式が紹介されていました。しかし、実際のTEXTSPLITに、「区切り文字の数」「出力形式(水平・垂直)」の引数はありません。上の式は、3番目の引数が行の区切り文字、4番目が「空のセルを無視」にあたるため、実際のExcelでは #VALUE! エラーになります。この記事では、実際の構文に直しました。縦に並べたいときは、列の区切り文字を省略し、行の区切り文字だけを指定します。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

サンプルデータで試す

A2・A3の文字列を、区切り文字で分けてみます。B2とB3に式を入れるだけで、右に結果が広がります。

サンプル式:カンマで分割する

A2の「Apple,Orange,Banana」を、カンマで分割します。B2に次の式を入れます。

B2に入力:カンマで分割する
数式=TEXTSPLIT(A2,",")
ひとことでA2の文字列を、カンマで分けて、右に並べる
A2
分割する文字列のセルです
","
列の区切り文字(カンマ)です
補足結果は B2:D2 に広がります(Apple・Orange・Banana)。

結果は、B2に「Apple」、C2に「Orange」、D2に「Banana」と並びます。式を入れたのはB2だけで、C2・D2は自動で埋まります(スピル)。

サンプル式:複数文字の区切り文字で分割する

A3の「Tokyo – Kyoto – Osaka」を、前後にスペースがあるハイフン「 – 」で分割します。B3に次の式を入れます。

B3に入力:「 – 」で分割する
数式=TEXTSPLIT(A3," - ")
ひとことでA3の文字列を、前後にスペースがあるハイフンで分けて、右に並べる
A3
分割する文字列のセルです
" - "
区切り文字です。2文字以上でも指定できます
補足結果は B3:D3 に広がります(Tokyo・Kyoto・Osaka)。

区切り文字は、2文字以上でも指定できます。スペースまで区切り文字に含めると、結果の前後にスペースが残りません。結果は、B3に「Tokyo」、C3に「Kyoto」、D3に「Osaka」と並びます。

行の区切り文字を使って2次元に分割する

行の区切り文字を、3番目の引数に指定すると、下方向にも分けられます。「a,b;c,d」を、カンマで列に、セミコロンで行に分けると、2行2列になります。

B4に入力:行も区切って2次元に分割する
数式=TEXTSPLIT(A4,",",";")
ひとことでA4の文字列を、カンマで列に、セミコロンで行に分ける
A4
分割する文字列のセルです
","
列の区切り文字です
";"
行の区切り文字です
補足「a,b;c,d」なら、2行2列(B4:C5)になります。
ポイント行ごとに項目の数が違うと、足りない部分は #N/A で埋まります。6番目の引数(埋める値)に「””」などを指定すると、別の値に変えられます。

使うときの注意

  • 結果が広がる場所は空けておく:右や下にデータがあると、#SPILL! エラーになります。
  • 区切り文字を正確に:スペースの有無や、全角・半角の違いで、結果が変わります。
  • 大文字・小文字:初期設定では区別します。区別しないときは、5番目の引数(一致モード)に 1 を指定します。
  • 連続する区切り文字:「a,,b」のように続くと、空のセルができます。4番目の引数に TRUE を指定すると、空のセルを除けます。

TEXTSPLITが使えないときの方法

Excel 2021以前では、LEFT・MID・FIND関数を組み合わせて取り出すか、「データ」タブの「区切り位置」機能で、分割します。Microsoft 365でも、元のデータを一度だけ分割したいなら、区切り位置の機能が手軽です。

動的配列・スピル系の関数の全体像は、こちらのまとめで整理しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次