Googleスプレッドシートで用いることができる『SPLIT関数』は、『,』(カンマ)や『-』(ハイフン)などの区切り位置で、文字列を分割することができる関数です。
CSVデータを加工するときとかに、有用なので、覚えておいて損はないかと思います!
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。新卒ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
『SPLIT関数』とは
『SPLIT関数』は、文字列に含まれる区切り位置文字を指定することで、文字列を分割してくれる関数です。
SPLIT関数の構文
SPLIT(テキスト, 区切り文字, [各文字での分割], [空のテキストを削除])
項目 | 内容 |
テキスト | 分割したいテキスト。セル指定もしくは直接記述。 |
区切り文字 | テキストを分割する文字 |
各文字での分割 | 【省略可】例えば区切り文字に『abc』と指定した場合、この引数をTRUEで指定すると、aでもbでもcでも分割されます。FALSEとすると、abcの文字列で分割がなされる。 省略した場合は、TRUE判定。 |
空のテキストを削除 | 【省略可】区切り文字が連続した場合、TRUEだとその間に文字はなかった扱いとなるが、FALSEだと空のセルが出力されるようになる。 省略した場合は、TRUE判定。 |
SPLIT関数を実際に使ってみた
=split(A2,B2)
『SPLIT関数』を用いて、いくつかのパターンで、文字列を区切ってみました。
それぞれの引数による効果も、わかっていただけるかと思います。
また、最後の行ですが、エラーになっています。
これは、『SPLIT関数』による文字分割をする範囲に、すでになにかしらのデータが入ったセルが邪魔していると、『#REF!』エラーとなることを示しています。他のデータで邪魔はしないようにしてください。
ちなみに、関数を用いないで区切り位置による分割をしたいのであれば、このやり方で出来ます。
『SPLIT関数』と『REGEXREPLACE関数』の組み合わせで区切り位置なくても分割する
この関数の合せ技は便利で、区切り位置がない文字列であっても分割できるようになります。
例えば、『花鳥風月』これを一文字ずつに分割したいとき、『SPLIT関数』だけですと、区切り位置が存在しないので、分割することができません。
そこで、『REGEXREPLACE関数』を用いて、区切り文字を各文字の間に挿入して、それを『SPLIT関数』で分割するという合せ技で、分割することができます。
=split(REGEXREPLACE(A2,"","-"),"-")
『REGEXREPLACE関数』は、正規表現に基づいて置換を行ってくれる関数で、上記の関数の内容は、『””』を『”-“』に変える、つまり何もないところにハイフンを追加する内容となっています。
つまり、『花鳥風月』であれば、『-花-鳥-風-月-』このようにしてくれています。
この文字列を『SPLIT関数』で第四引数『空のテキストを削除』がFALSEとなっているので、先頭及び末の空白は削除されるため図のように漢字が一文字ずつ分割されるということになっています。
『REGEXREPLACE関数』の詳しい説明はこちらの記事をどうぞ。
『SPLIT関数』のまとめ
『SPLIT関数』は、区切り文字で文字列を分割してくれる関数です。カンマ区切りのCSVなどを区切って、各セルに分割するのに使えます。