スプレッドシートでデータを自由に分割!SPLIT関数の使い方と応用例

Sheet基本

SPLIT・JOIN 完全ガイド
文字列の分割と結合を自在に操る

「氏名を苗字と名前に分ける」「複数のセルをカンマ区切りで1つにまとめる」。SPLITとJOINはセットで覚えるとデータ整形の幅が一気に広がる。

GASとの関係:str.split() と Array.join() に直接対応

GASの "田中 花子".split(" ") が SPLIT に、["田中","花子"].join("・") が JOIN に対応します。スプレッドシートで動作確認してからGASに移植する手順が確実です。

GASで自動化を学ぶ →
目次

SPLIT — 区切り文字で分割

=SPLIT(文字列, 区切り文字, [各文字で分割], [空のテキストを削除])
// "田中 花子" をスペースで分割 → 2つのセルに展開
=SPLIT(A2, " ")

// "東京,大阪,名古屋" をカンマで分割
=SPLIT(A2, ",")

// 複数の区切り文字(スペースまたはカンマ)
=SPLIT(A2, " ,") // スペースかカンマのどちらかで分割

SPLITの結果は隣のセルに自動展開

SPLITはスピル(自動展開)するため、隣のセルに結果が表示されます。隣のセルに値があると上書きエラーになるので注意が必要です。

JOIN — 範囲を結合

=JOIN(区切り文字, 範囲または値1, [値2], ...)
// A2:A5 の内容を「、」で結合
=JOIN("、", A2:A5)

// 複数セルをまとめて結合
=JOIN(" / ", A2, B2, C2)

実務でよく使うパターン

パターン1:フルネームを苗字と名前に分ける

// "田中 花子" → B列に"田中"、C列に"花子"(B2に書く)
=SPLIT(A2, " ")

// 苗字だけほしい場合はINDEX+SPLIT
=INDEX(SPLIT(A2, " "), 1, 1) // 1番目の要素(苗字)
=INDEX(SPLIT(A2, " "), 1, 2) // 2番目の要素(名前)

パターン2:カンマ区切りデータを縦展開

// "tag1,tag2,tag3" のようなCSV形式のタグを縦に展開
=TRANSPOSE(SPLIT(A2, ","))

パターン3:複数行のデータを1つのセルに結合

// リスト(A2:A10)を読点区切りで1セルに
=JOIN("・", A2:A10)

// FILTER と組み合わせて条件付き結合
=JOIN("、", FILTER(A2:A100, B2:B100="東京"))

パターン4:URLのパスを分解して取り出す

// "https://example.com/category/post-123" のパスを分解
// "/で分割して3番目("category")を取り出す
=INDEX(SPLIT(A2, "/"), 1, 4)

TEXTJOIN — JOINの進化版(空白を無視できる)

=TEXTJOIN(区切り文字, 空白を無視, 範囲)

// A2:A10 のうち空白でない値だけを「/」で結合
=TEXTJOIN("/", TRUE, A2:A10)

// 複数列を結合しつつ空白はスキップ
=TEXTJOIN(" ", TRUE, A2, B2, C2, D2)

JOINと違いTEXTJOINは空白セルを自動スキップできます。実務ではTEXTJOINの方が使いやすい場面が多いです。

この知識をGASで活かす

GASでCSVや区切り文字形式のデータを扱う際、split()とjoin()は必須の操作です。スプレッドシートでSPLIT/JOINを試してロジックを確認してからGASに移植すると開発が速くなります。

Free Newsletter

AIを業務に活かしたいなら
SMR-Labメルマガ

毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。

▶ 無料で登録する

📧 無料メルマガ登録

DX・AI活用のヒントを週1回お届け。登録特典:すぐ使えるプロンプト集&GASテンプレート。

登録情報は第三者に提供しません。いつでも配信停止できます。

目次