TEXTSPLIT 関数:構文、例とエラーの解決
2026-10-13 更新 · 無料 · Excel と Google Sheets に対応
構文
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])クイック回答
TEXTSPLIT は 1 つのセルを複数にスピルします:=TEXTSPLIT(A2, ",") なら "a,b,c" が 3 列に広がり、行区切り文字を足せば下方向にも展開します。元データが変わると再計算される動数式——Microsoft 365 と Excel 2024 限定で、Excel 2021 以前にはありません。
構文
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])| 引数 | 意味 |
|---|---|
| text | 分割したいセルまたはテキスト——必須。A2、"a,b,c"、任意の数式の結果。 |
| col_delimiter | テキストを横方向(列)へスピルさせる区切り文字——カンマ区切りなら ","。引用符で囲むか、セル参照で指定します。行だけに分割したいときは空のまま(カンマだけ残す)にします。 |
| [row_delimiter] | テキストを縦方向(行)へスピルさせる区切り文字——";" や改行の CHAR(10)。省略可能。 |
| [ignore_empty] | TRUE は連続する区切り文字を 1 つにまとめ、空白が空セルを残しません。既定の FALSE は空白ごとに 1 セル確保します。 |
| [match_mode] | 1 にすると区切り文字の一致で大文字小文字を区別しません。既定の 0 は完全一致——"X" は "x" を拾いません。 |
| [pad_with] | 不揃いなグリッドの欠けを埋める値——既定は #N/A。"n/a" のようなプレースホルダーや "" がよく使われます。 |
地域設定によっては、引数がコンマではなくセミコロンで区切られます:=TEXTSPLIT(A2; ",")。コンマを小数点として使う国ではこれが標準です。
基本例
=TEXTSPLIT(A2, ",")定番の分割:「Smith, John」の入ったセルが並んだ 2 つのセルになって返ってきます。自動スピル。区切り位置ウィザードも形式を選択して貼り付けも不要——A2 が変わるたびに数式が再計算します。
=TEXTSPLIT(A2, , ",")col_delimiter を空にして行区切りだけ渡す:同じカンマ区切りリストが今度は下方向にスピルし、1 行に 1 値。1 つのセルを 1 列へ展開する手早い方法——住所、タグ、あらゆる詰め込みリストに。
=TEXTSPLIT(A2, {",", ";"})配列定数なら区切り文字をいくつでも一度に渡せます:カンマもセミコロンも、どんな組み合わせでも分割。TEXTSPLIT を入れ子にする必要なし——1 つの数式で不揃いなデータを処理します。
=TEXTSPLIT(A2, ", ", , TRUE)ignore_empty を TRUE にすると連続する区切り文字が 1 つにまとまります:"a,,b" は空の中央を挟む 3 セルではなく 2 セルに分割。既定の FALSE は空白ごとに 1 スロット確保——隙間がノイズなら TRUE へ。
TEXTSPLIT が返すのはすべてテキストです——セルからスピルした "123" は文字列の 123 であって数値ではありません。計算に使う前には VALUE で包むか、元の列を残してその場で変換してください。
よくあるエラーと修正方法
| 症状 | 最も一般的な原因 | 修正方法 |
|---|---|---|
| #SPILL! | スピル範囲がふさがれています:TEXTSPLIT は右または下の一画の空きが必要で、A3 に 1 文字でもあれば邪魔になります。 | 結果が落ちる領域を空けるか、数式をもっと空いた行・列へ移します——出力は元データとともに伸びるので、結果の下にデータを置かないで。 |
| #NAME? | お使いの Excel が Microsoft 365 でも Excel 2024 でもない——TEXTSPLIT は 2022 年登場の新関数で、2021 以前は存在しません。スペルミスの可能性も。 | =TEXT と入力してオートコンプリートに TEXTSPLIT があるか確認。なければバージョンを上げるか、区切り位置ウィザードで一回きりの分割を。 |
| テキストがそのままスピルして分割されない | 区切り文字が一致していない:TEXTSPLIT は既定で大文字小文字を区別(match_mode 0)し、"X" は "x" を拾いません。見えない空白で ", " が "," に合わないことも。 | 実際の区切り文字を確認し(LEN で隠れた空白を暴けます)、大小混在なら match_mode 1 を追加:=TEXTSPLIT(A2, ",", , , 1)。 |
| 結果に空セルが現れる | 元データに連続した区切り文字があり、ignore_empty が既定の FALSE で空白ごとに 1 セル確保されています。 | ignore_empty を TRUE に:=TEXTSPLIT(A2, ",", , TRUE)——連続する区切り文字が 1 つにまとまります。 |
| 不揃いな行の末尾に #N/A が出る | 行と列を同時に分割すると、短い行は既定で #N/A でグリッドに補完されます——これはエラーではなく pad_with の既定値の働きです。 | 最後の引数に独自の埋め値を渡します:=TEXTSPLIT(A2, ",", ";", TRUE, , "")——空文字列や "n/a" のプレースホルダーを。 |
分割された数値はテキストです:TEXTSPLIT が "123" に対して返すのは文字列で、SUM は存在しないものとして扱います。計算には VALUE をかぶせるか、先に元の列の文字列型数値を直してください。
TEXTSPLIT と区切り位置の比較
| TEXTSPLIT | 区切り位置ウィザード | |
|---|---|---|
| 形式 | 動数式——元が変われば結果も変わる | 一回きりの操作——実行したら固定 |
| 元データ | 元のセルはそのまま、結果は隣にスピル | 元の列をその場で上書き——実行前にバックアップ |
| 複数区切り文字 | 配列定数で自由に組み合わせ {",", ";"} | タブ・カンマ・セミコロン・カスタム 1 文字にチェック |
| 使えるバージョン | Microsoft 365 と Excel 2024 | 全バージョン |
=TEXTSPLIT(A2, ",", ";")1 つの数式で列区切りと行区切りを同時に渡し、詰め込まれたテキストをグリッドへ展開——ウィザードは一度に一方向しか選べず、データに合わせた再実行もありません。範囲が分かっていてその場で上書きしていい一発作業はウィザード、数式駆動・自動更新・双方向の分割は TEXTSPLIT と使い分けます。
Google Sheets での TEXTSPLIT
Google Sheets に TEXTSPLIT はありません——等価関数は SPLIT で、同じく 1 つのセルを配列へスピルしますが、引数の順序と既定動作が違います。
- 基本形は =SPLIT(A2, ","):第 2 引数が区切り文字です。第 3 引数 split_by_each は既定 TRUE で区切り文字を 1 文字ずつ扱う——",;" と書けばカンマもセミコロンも同時に分割(TEXTSPLIT の配列定数に相当)。
- remove_empty_text は ignore_empty に対応:=SPLIT(A2, ",", TRUE, TRUE) と第 4 引数を TRUE にすると連続する区切り文字が 1 つにまとまります。
- 結果は同様にスピル配列で、元データが変われば再計算——この点は Excel の TEXTSPLIT と同じです。
- 逆方向の TEXTJOIN も Sheets にあります:詰め込みには TEXTJOIN、展開には SPLIT と、セットで使えます。
制限と上級テクニック
- TEXTSPLIT は Microsoft 365 と Excel 2024 以降限定——Excel 2021・2019・2016 には一切なく、#NAME? がバージョンのサインです。
- 結果は 1 つの動的配列:中の 1 セルだけ編集はできず、ブロック全体が同時に変わります。全体を参照するにはスピル参照の A2# を使います。
- 不揃いなグリッドは既定で #N/A で穴埋め:pad_with に "" やプレースホルダーを渡せば、レポートにエラーコードが咲きません。
- 分割された数値や日付はテキスト:SUM や AVERAGE は無視します。計算前に VALUE で変換を。
- セル内改行も分割できます:CHAR(10) を行区切りにすれば 1 行の詰め込みデータが複数行へ——「折り返して全体を表示する」を忘れずに。
TEXTSPLIT はデータ取り込みのラストワンマイルとして扱います:先に元テキストを整えて(空白・改行・区切り文字の統一)、それから分割。グリッドの品質は食べさせる文字列の品質そのもの——元がきれいなら、結果も揃います。
関連ツール
関連関数
よくある質問
Excel の TEXTSPLIT は何をしますか?
セルの中身を区切り文字で分割し、隣接するセル範囲へスピルさせます:=TEXTSPLIT(A2, ",") なら "a,b,c" が 3 列に展開され、row_delimiter を足せば下方向にも複数行へ。元データが変わると再計算される動数式です。
どの Excel バージョンに TEXTSPLIT がありますか?
Microsoft 365 と Excel 2024 です。TEXTSPLIT は 2022 年登場なので、Excel 2021 以前には一切ありません——#NAME? がバージョン不足のサインです。その場合は区切り位置ウィザードか SEARCH+MID の組み合わせで代用します。
TEXTSPLIT が #SPILL! を返すのはなぜ?
スピル範囲がふさがれているからです:結果には一画の空きが必要で、右や下に何か 1 つでもあれば止まります。結果の着地エリアを空けるか、数式をもっと空いた場所へ移動してください。
列ではなく行に分割するには?
col_delimiter を空にして行区切りだけ渡します:=TEXTSPLIT(A2, , ";")——最初の区切り文字を省略すると、テキストは下方向へスピルし 1 行に 1 値ずつ並びます。
複数の区切り文字を同時に使うには?
配列定数です:=TEXTSPLIT(A2, {",", ";"})——カンマもセミコロンも区切り文字として働き、自由に混ぜられます。配列にはさらに足せます:{",", ";", "|"}。
結果の #N/A を別のものに置き換えるには?
#N/A は不揃いなグリッドを埋める pad_with の既定値です。最後の引数で好きな値に変えられます:=TEXTSPLIT(A2, ",", ";", , , "") や "n/a" のようなプレースホルダー。
TEXTSPLIT は Google Sheets で使えますか?
使えません——Sheets に TEXTSPLIT はなく、等価関数は SPLIT です:=SPLIT(A2, ",")。第 3 引数 split_by_each は既定で 1 文字ずつの分割、第 4 引数 remove_empty_text が ignore_empty に対応します。
自分のファイルで試す準備はできましたか?
Excelのテキストを列に分割を開く — 無料