スプレッドシートでセルを特定の区切り文字列で分割する方法(SPLIT関数)

Googleスプレッドシートで、1つのセル内に大量の文字列が含まれている場合に、区切り文字で分割したものを個別のセルに格納したいケースがあります。

今回、スプレッドシートでセルを特定の文字列で分割する方法を解説します。

スプレッドシートのセルの文字列を区切り文字で分割したい

スプレッドシートで様々なデータを扱っていると、ひとつのセルに長い文字列が格納されることがあります。

その中には、区切り文字が入っていて、その区切り文字で分割して個々のセルに保存したいものもあります。

例えば、以下のような文字列です。

  1. 各数値がカンマ(,)区切りで入力されている
  2. 各要素がアンダーバー(_)区切りで入力されている

Goolgeスプレッドシートの1つのセルにアンダーバーの区切り文字で格納されたデータ

別のデータソースから取得しているため、1つのセルに格納されているケースが多いです。

しかし、実際には設定されている区切り文字(,や_)で、文字列を分割し、個々の要素をセルに個別に格納できるのが望ましいです。

スプレッドシートにはセルを特定文字列で分割するSPLIT関数

そんなケースで、Googleスプレッドシートには分割するための関数が用意されています。

それが、特定の文字列を区切り文字として指定し、文字列を分割するSPLIT関数です。

=SPLIT(分割したい文字列, 区切り文字, [各文字での分割], [空のテキストを削除])

第1引数と第2引数は必須で、第3・第4は省略可能です(省略した場合はTRUEとして扱う)。

スプレッドシートでSPLIT関数を活用すれば、1つのセルに格納された区切り文字を含んだ文字列を、個々の要素に分割してセルに格納することができます。

セルを指定した区切り文字で分割する方法(SPLIT関数の使い方)

スプレッドシートでSPLIT関数の使い方を紹介しながら、指定した区切り文字でセルを分割する方法を解説します。

例えば、別のデータソースから以下の図のように「_」が区切り文字のデータを個々の要素に分割してみます。

1.分割した要素を格納したいセルの左端で数式入力をします。

2.「=SPLIT(A10,”_”)」という形で分割したいセルを第一引数、区切り文字を第二引数に指定します。

以上の2StepでSPLIT関数によるセルの文字列分割は完了です。

GoolgeスプレッドシートでSPLIT関数を使い、セルの文字列を特定の区切り文字で分割のサンプル

上の図のように、A列で区切り文字で長い文字列だったのが、B列右側で分割した要素が個々のセルに格納されています。

区切り文字については第2引数で任意の文字列を選択可能なので、カンマ(,)なども可能です。

スプレッドシートのSPLIT関数でカンマを区切り文字にしてデータを分割してセルに格納

空白で区切り文字が連続する場合

スプレッドシートでのSPLIT関数の利用において、元のセルデータに空白が含まれていて、区切り文字が連続することがあります。

スプレッドシートのSPLIT関数で、空白が生じたため、区切り文字が連続して、想定よりもセルが詰めて格納

本来であれば、らくだの部分が空白のはずですが、空白が無視されるため、左にセルが1つずれてしまっています。

このようなケースでは、SPLIT関数の第4引数を工夫することで解決できます。

SPLIT関数の第3,第4引数は省略すると、「TRUE」として判定されますが、第4引数の「空のテキストを削除」をFALSEに変更すれば、空白があってもセルが詰められることがありません。

スプレッドシートのSPLIT関数で区切り文字が連続する場合に、無視しないように第4引数をFALSEに変更

SPLIT関数の第4引数を利用することで、空白が含まれるスプレッドシートのテキストデータでも適切に分割が可能です。

SPLIT関数でセルの文字列を分割する際の注意点

なお、スプレッドシートでSPLIT関数を利用する際の注意点があります。

SPLIT関数使用時の気を付けるポイントは「分割した要素が格納されうるセルに値を保持しない」ことです。

例えば、図のようにカンマ(,)区切りで5つの要素に分けられる文字列がA1セルにあります。

SPLIT関数は区切り文字で分割した文字を格納するセルに値が保持されていた場合にREFエラーを出力する

要素を分けたいセルに対しB1セルでSPLIT関数を入力し、B1セル~G1セルに格納する場合に、C1~G1セルに値が格納されているとエラーが発生します。

まとめ・終わりに

今回、スプレッドシートのセルに格納された文字列に対し、区切り文字で分割してセルに格納する方法を紹介しました。

SPLIT関数を用いて、分割したい文字列のセルと区切り文字を引数に指定することで、特定文字列で分割してセルに保持することが可能です。

SPLIT関数を工夫することで、空白が含まれていても対応することができます。

スプレッドシートのデータが1つのセルにまとまって出力されるものを分割したい場合は、今回紹介したSPLIT関数を活用しましょう。