概要
TEXTSPLITは「区切り文字で文字列を分割し、複数セルに自動展開」する新しい関数です。カンマ、スペース、タブ、改行などで一気に分割でき、行方向・列方向のどちらにも展開可能です。従来のLEFT/MID/FINDの組み合わせよりも短い式で、可読性と保守性が大幅に向上します。Microsoft 365以降で利用できます。
基本の使い方
書式
=TEXTSPLIT(文字列, 列区切り, [行区切り], [空白無視], [空要素無視], [不足時の埋め文字])
- 列区切り:列方向に分ける区切り文字(例: “,”)
- 行区切り:行方向に分ける区切り文字(例: CHAR(10))
- 空白無視:TRUEで区切りの前後の空白を除去
- 空要素無視:TRUEで区切りが連続したときの空要素を無視
- 不足時の埋め文字:分割結果の形を揃えるためのパディング文字
例
=TEXTSPLIT("A,B,C",",") // 横方向に A | B | C と展開
=TEXTSPLIT("A|B|C","|") // 区切り文字を「|」に変更
=TEXTSPLIT("A B C"," ",,TRUE) // 前後空白除去(空白無視=TRUE)
具体例
カンマ区切りのリストを列方向に分割
=TEXTSPLIT(A2,",")
A2が「りんご,みかん,ぶどう」のとき、横に「りんご」「みかん」「ぶどう」が並びます。
改行ごとに行方向へ分割
=TEXTSPLIT(B2,,CHAR(10))
B2の複数行テキストを縦方向(行)に展開します。セルの書式で「折り返して全体を表示」をオンにしておくと編集しやすいです。
タブ区切りを列方向に分割
=TEXTSPLIT(C2,CHAR(9))
TSV(タブ区切り)データを簡単に列方向へ展開できます。
行と列の両方で分割(行区切り→列区切り)
=TEXTSPLIT(D2,",",CHAR(10))
D2が「りんご,120¥[改行]みかん,140¥[改行]ぶどう,200」のとき、行ごとに商品名と価格の2列に展開されます。
応用テンプレート
空要素を無視して分割(区切りが連続するデータに)
=TEXTSPLIT(E2,",",, ,TRUE)
「A,,B,,,C」のような連続カンマから空要素を除外してきれいに分割します。
前後の余分な空白を削除して分割
=TEXTSPLIT(F2,",",,TRUE)
「A , B , C」のような不揃い空白を除去して均一に分割します。
列数を揃えるために不足要素をパディング
=TEXTSPLIT(G2,",",, ,FALSE,"(欠損)")
行ごとに列数が揃わないとき、欠損箇所に「(欠損)」を自動挿入して表の形を整えます。
TEXTSPLITで分割→並べ替えや抽出へ接続(LETと併用)
=LET(arr, TEXTSPLIT(H2,",",,TRUE,TRUE),
TAKE(SORT(arr), , 3))
分割して得た配列をそのまま並べ替え・抽出に流用できます(Microsoft 365配列機能)。
よくあるつまずきと対策
期待方向に展開されない
列区切りを指定すれば横、行区切りを指定すれば縦に展開します。両方を同時に指定すると「行→列」の順で二次元に展開されます。
余分な空白や空要素で結果が乱れる
空白無視(第4引数)と空要素無視(第5引数)を活用しましょう。前処理を少なくできます。
区切り文字が複数種類ある
SUBSTITUTEで統一してから分割します。例:「;」を「,」に変換してからTEXTSPLIT。
旧Excelで動かない
TEXTSPLITは新関数です。旧バージョンではTEXTTOCOLUMNS(区切り位置指定)やFIND/MIDの組み合わせで代替します。
例題
問題1: A2の「りんご,みかん,ぶどう」をカンマで分割し、横に並べてB2以降へ展開してください。
解答例:
=TEXTSPLIT(A2,",")
問題2: C2の複数行テキストを改行で分割し、縦方向(行)にD2以降へ展開してください。
解答例:
=TEXTSPLIT(C2,,CHAR(10))
問題3: E2の「A , B , C」を前後空白を無視して分割し、F2以降に整然と展開してください。
解答例:
=TEXTSPLIT(E2,",",,TRUE)
問題4: G2の「A,,B,,,C」から空要素を除外して分割し、H2以降に展開してください。
解答例:
=TEXTSPLIT(G2,",",, ,TRUE)
問題5: I2の「りんご,120¥[改行]みかん,140¥[改行]ぶどう,200」を行・列の両方で分割し、J2から2列の表に展開してください。
解答例:
=TEXTSPLIT(I2,",",CHAR(10))
まとめ
TEXTSPLITは「区切って展開する」処理を最短距離で実現します。列区切りと行区切り、空白・空要素の扱い、パディングまで一式そろっているため、前処理の手間を劇的に減らせます。まずは「列区切りだけ」「行区切りだけ」から始め、次に両方指定とオプション(空白無視・空要素無視・埋め文字)を組み合わせる——この順で慣れると、現場で即戦力になります。
