ADVERTISEMENT

【Googleスプレッドシート】TEXTSPLIT関数で文字列を分割して配列化!カンマ区切りの展開

【Googleスプレッドシート】TEXTSPLIT関数で文字列を分割して配列化!カンマ区切りの展開
🛡️ 超解決

TEXTSPLIT関数は、Googleスプレッドシートで文字列を指定した区切り文字で分割し、隣接するセルに展開できる便利な関数です。カンマ区切りのデータを一覧に変換したい場面で役立ちます。この記事では、TEXTSPLIT関数の基本的な使い方から応用例、注意点までを詳しく解説します。これを読めば、複雑なデータの分割も簡単に行えるようになります。

【要点】TEXTSPLIT関数で文字列を配列化する

  • TEXTSPLIT関数の基本構文: =TEXTSPLIT(テキスト, 区切り文字, [列区切り], [空の扱い]) で文字列を分割します。
  • カンマ区切りへの適用: カンマで区切られたデータを簡単に複数のセルに展開できます。
  • 応用例: 改行区切りや複数区切り文字への対応、空白セルの制御なども可能です。

ADVERTISEMENT

TEXTSPLIT関数の概要とできること

TEXTSPLIT関数は、Googleスプレッドシートで文字列を指定した区切り文字で分割し、結果を水平方向または垂直方向のセル配列として返す関数です。2022年に導入された比較的新しい関数で、従来のSPLIT関数よりも柔軟な制御が可能です。テキストを列に分割する際、区切り文字を複数指定したり、空白セルの扱いを指定したりできます。この関数を使うことで、CSVデータの展開や、住所の分割、タグの抽出といった作業を効率化できます。

TEXTSPLIT関数の基本的な使い方

ここでは、TEXTSPLIT関数の基本的な構文と、カンマ区切りの文字列を分割する手順を説明します。

基本構文

TEXTSPLIT関数の構文は次のとおりです。

=TEXTSPLIT(テキスト, 行区切り, [列区切り], [空のセルの扱い], [大文字と小文字の区別])

主な引数は以下の通りです。

  • テキスト: 分割したい文字列が含まれるセルや直接の文字列を指定します。
  • 行区切り: 行方向(縦方向)に分割する際の区切り文字です。例: “,” や “\n” など。
  • 列区切り: 列方向(横方向)に分割する際の区切り文字です。省略可能です。
  • 空のセルの扱い: TRUEで空のセルを無視、FALSEで空のセルも保持します。デフォルトはFALSEです。
  • 大文字と小文字の区別: TRUEで区切り文字の大文字小文字を区別します。デフォルトはTRUEです。

カンマで区切られた文字列を分割する手順

  1. データを準備する
    分割したい文字列が含まれるセルを用意します。例として、セルA1に「リンゴ,バナナ,オレンジ」と入力します。
  2. TEXTSPLIT関数を入力する
    結果を表示したいセル(例: B1)に次の式を入力します。
    =TEXTSPLIT(A1, ",")
    これで、「リンゴ」「バナナ」「オレンジ」が横方向に展開されます。
  3. 列区切りを指定して縦方向に分割する
    複数の項目を縦に並べたい場合は、行区切りに改行コードなどを指定します。例えば、セルA1に「リンゴ\nバナナ\nオレンジ」と改行で区切られている場合、
    =TEXTSPLIT(A1, "\n")
    と入力すると縦に展開されます。

TEXTSPLIT関数の応用例

基本を理解したところで、実際に役立つ応用例をいくつか紹介します。

複数の区切り文字を同時に使う

TEXTSPLIT関数では、行区切りに複数の文字を配列で指定できます。例えば、カンマと改行の両方で分割したい場合、次のように記述します。

=TEXTSPLIT(A1, {",", "\n"})

これで、カンマと改行のどちらも区切り文字として認識され、結果が横方向に並びます。ただし、列区切りを指定しない場合は横方向になります。縦方向に分割したい場合は、列区切りに別の区切り文字を指定するか、TRANSPOSE関数で転置します。

空白セルの制御

連続する区切り文字がある場合、デフォルトでは空のセルが出力されます。これを避けたい場合は、第4引数にTRUEを指定します。

=TEXTSPLIT(A1, ",", , TRUE)

これで、連続する区切り文字があっても空のセルがスキップされます。例えば、「リンゴ,,バナナ」という文字列から「リンゴ」「バナナ」だけが抽出されます。

QUERY関数と組み合わせたデータ整形

TEXTSPLIT関数は配列を返すため、他の配列関数と組み合わせることで高度なデータ整形が可能です。例えば、複数のセルに分割されたデータを1つの列にまとめるには、次のようにします。

=FLATTEN(TEXTSPLIT(A1, ","))

これで、横方向に展開されたデータが縦方向の1列に変換されます。QUERY関数と組み合わせて条件抽出することもできます。

ADVERTISEMENT

TEXTSPLIT関数の注意点と制限事項

TEXTSPLIT関数を使用する際に注意すべき点をいくつか挙げます。

出力先のセル範囲に既存のデータがある

TEXTSPLIT関数は分割結果を配列として展開するため、出力先のセル範囲に既にデータが存在するとエラーが発生します。関数を入力する前に、出力先の範囲が空であることを確認してください。

区切り文字のエスケープ

区切り文字として特殊文字(改行やタブなど)を使用する場合は、バックスラッシュを使ったエスケープが必要です。例えば、改行の場合は”\n”、タブの場合は”\t”と記述します。引用符内で記述する際は注意しましょう。

大文字と小文字の区別

デフォルトでは区切り文字の大文字小文字が区別されます。例えば、区切り文字として”A”を指定した場合、”a”では区切られません。大文字小文字を区別したくない場合は、第5引数にFALSEを指定します。
=TEXTSPLIT(A1, "a", , , FALSE)

スプレッドシートのバージョン

TEXTSPLIT関数は比較的新しい関数のため、古いバージョンのスプレッドシートでは使用できない場合があります。組織のアカウントで使用する場合は、管理者に確認してください。

TEXTSPLIT関数とSPLIT関数の違い

従来のSPLIT関数との違いを比較表にまとめました。

項目 SPLIT関数 TEXTSPLIT関数
複数区切り文字 カンマ区切りのみ 配列で複数指定可能
空白セルの制御 常に空セルを出力 引数で制御可能
大文字小文字区別 常に区別しない 引数で制御可能
結果の向き 常に横方向 行区切りと列区切りで方向指定可能
互換性 すべてのバージョン 新しいバージョン限定

まとめ

TEXTSPLIT関数を使うと、カンマや改行などの区切り文字で文字列を簡単に分割し、配列として展開できます。複数区切り文字の指定や空白セルの制御など、SPLIT関数より柔軟な操作が可能です。応用例として、QUERY関数やFLATTEN関数と組み合わせることで、データ整形の幅が広がります。まずは基本的な構文を覚え、実際のデータで試してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。