【スプレッドシート】区切り位置で文字列を分割する方法

Googleスプレッドシートで、セル内のテキストを、指定した区切り文字の前後で分割する方法をご紹介します。元のデータを残したまま分割できるSPLIT関数を使う方法と、元のデータ自体を直接分割する「テキストを列に分割」機能を使う方法があります。

スポンサーリンク

SPLIT関数で文字列を分割する方法

SPLIT関数を使って、元データを残したまま、分割結果を別のセルに表示させる方法です。

特定の区切り文字で分割する

【スプレッドシート】セル内の文字列を分割する方法

SPLIT関数は、指定したテキストを「区切り文字」の前後で分割し、別々のセルに表示します。

たとえば、A2セルのテキストをハイフン - の前後で分割したい場合、数式は次のようになります。

例:=SPLIT(A2,"-")

このとき、区切り文字のハイフンは、分割後の結果に含まれません。

SPLIT関数の引数:(テキスト, 区切り文字, [各文字での分割], [空のテキストを削除])

複数の区切り文字で分割する

【スプレッドシート】セル内の文字列を分割する方法

複数の区切り文字で分割したい場合は、すべての区切り文字をそのまま羅列します。

とえば、A2セルのテキストを -, で分割したい場合、数式は次のようになります。

例:=SPLIT(A2,"-,")

区切り文字が2文字以上の場合

【スプレッドシート】セル内の文字列を分割する方法

andのように2文字以上の区切り文字を使う場合は、SPLIT関数の第3引数(各文字での分割)にFALSEを指定します。

例:=SPLIT(A2,"and",FALSE)


FALSEは、"and"を「a」「n」「d」という個別の文字ではなく、ひとまとまりの区切り文字として認識させるために必要です。

もしFALSEを省略すると、SPLIT関数はandの3つの文字すべてを区切り文字として扱ってしまうため、aand10の分割結果は10になります。

文字列を縦(上下)に分割する

【スプレッドシート】セル内の文字列を分割する方法

文字列を行方向(縦)へ分割したい場合は、SPLIT関数にTRANSPOSE関数を組み合わせます。

たとえば、A列にある複数のテキストを-で分割し、それぞれを上下に表示したい場合は、次の数式を使います。

例:=ArrayFormula(TRANSPOSE(SPLIT(A2:A4,"-")))

この数式では、A2:A4という範囲を一度に処理するため、[Ctrl]+[Shift]+[Enter]を押してArrayFormula関数を追加します。

TRANSPOSE関数の構成要素:(配列または範囲)

スポンサーリンク

コマンドで文字列を分割する方法

スプレッドシートに用意されている「テキストを列に分割」機能を使って、元データ自体を直接分割する方法です。

【スプレッドシート】セル内の文字列を分割する方法

使い方

分割したい文字列の範囲を選択し、「データ」→「テキストを列に分割」をクリックします。

【スプレッドシート】セル内の文字列を分割する方法

区切り文字の指定

区切り文字は自動で検出されますが、必要に応じて手動で指定できます。

  • 用意された区切り文字: カンマ、スペース、セミコロン、ピリオドの中から選択します。
  • カスタム: 選択肢にないハイフンなどの区切り文字を使いたい場合は、「カスタム」を選び、任意の記号を指定します。

Googleスプレッドシートでテキストを特定の区切り位置で分割する、SPLIT関数の使い方をご紹介します。区切り位置で改行して縦方向に分割する方法や、区切り一をセル内改行に置換する方法についても解説しているので、ぜひ参考にしてみてください。

タイトルとURLをコピーしました