「氏名を“姓・名”に分けたい」
「住所やコードを区切り文字で展開したい」
テキスト整形の手間を劇的に削減してくれるのが SPLIT 関数。
本記事では 実データ+数式+出力結果 をセットで示しつつ、
区切り文字が混在したケース (/
や ,
など) も一気に処理できるテクニックまで解説します。
1. SPLIT関数 ── 文字列を区切り文字で列展開
=SPLIT(文字列, 区切り文字, [空セル削除], [大文字小文字無視])
引数 | 内容 | 既定値 |
---|
文字列 | 分割対象(セル参照可) | 必須 |
区切り文字 | 分割トリガー | 必須 |
空セル削除 | TRUE :空パーツ除外 / FALSE :空セル出力 | TRUE |
大文字小文字無視 | TRUE :同一視 / FALSE :区別 | TRUE |
ポイント
- 結果は 横方向にスピル(隣列へ自動展開)
- 区切り文字を複数扱う場合は 正規表現で置換→SPLIT
2. 基本例:スペースやカンマで単純分割
目的 | 数式 | 出力例 (1 行目) |
---|
姓名を分割 | =SPLIT(A2," ") | 佐藤 | 太郎 |
メールをユーザー名/ドメイン分割 | =SPLIT(B2,"@") | taro.sato | example.com |
3. 応用例:ハイフンで 3 列展開
製品コード |
---|
PRD-2024-001 |
SRV-2023-015 |
PRD-2025-007 |
=SPLIT(C2,"-")
種別 | 年 | 通番 |
---|
PRD | 2024 | 001 |
SRV | 2023 | 015 |
PRD | 2025 | 007 |
活用:年度集計・カテゴリ別分析の前処理に最適
4. NEW:/
や ,
が混在した住所を一括整形
■ 元データ
A列:所在地(混在表記) |
---|
東京都/新宿区 |
大阪府,大阪市 |
福岡県/福岡市 |
■ そのまま区切り文字ごとに分割 (単一文字)
区切り | 数式例 (1 行目) | 出力 |
---|
/ | =SPLIT(A2,"/") | 東京都 | 新宿区 |
, | =SPLIT(A3,",") | 大阪府 | 大阪市 |
弱点:行ごとに /
と ,
が混在していると、数式を変える手間が増える。
■ 複数区切り文字をまとめて処理するベストプラクティス
=SPLIT(REGEXREPLACE(A2:A4,"[,/]",":"), ":" )
都道府県 | 市区町村 |
---|
東京都 | 新宿区 |
大阪府 | 大阪市 |
福岡県 | 福岡市 |
REGEXREPLACE
で 「,」と「/」をコロン(:) に統一
SPLIT( … , ":" )
で 2 列展開
- 範囲指定 (
A2:A4
) なので 新行追加も自動対応
5. 仕事で役立つテクニック集
テクニック | 数式例 | 効果 |
---|
改行で縦展開 | =TRANSPOSE(SPLIT(B2,CHAR(10))) | セル内メモを行方向へ |
動的更新 (ARRAYFORMULA) | =ARRAYFORMULA(SPLIT(C2:C,"-")) | 追加行も自動展開 |
OR 区切りを正規化 | `=SPLIT(REGEXREPLACE(D2,”[,/ | ]”,”;”),”;”)` |
分割後に抽出 | `=FILTER(SPLIT(E2:E,” | “), INDEX(SPLIT(E2:E,” |
6. よくあるエラー & 回避策
エラー | 原因 | 対処 |
---|
#REF! | スピル結果が隣セルと衝突 | 右側列を空ける/列追加 |
空セル混在 | 区切り連続 "A,,B" | 第3引数を FALSE にして空セル保持 or 後処理で削除 |
区切り複数不可 | SPLIT は 1 区切りのみ | REGEXREPLACE で統一後SPLIT |
7. まとめ & 早見表
目的 | 代表式 | キーワード |
---|
姓名分割 | =SPLIT(A2," ") | 氏名整形 |
コード 3 パーツ展開 | =SPLIT(B2,"-") | コード解析 |
/・, 混在住所整形 | =SPLIT(REGEXREPLACE(C2:C,"[,/]",":"),":") | 複数区切り一掃 |
改行→縦展開 | =TRANSPOSE(SPLIT(D2,CHAR(10))) | メモ整理 |
SPLIT で“1セル内のカオス”を一瞬で整理!
区切り文字が混在していても、正規表現と組み合わせればワンアクション。
VLOOKUP・QUERY・ピボット との相性も抜群なので、
明日からのデータ整形・レポート作成にどんどん活用してください。