ADVERTISEMENT

【Googleスプレッドシート】テキストを列に分割するTEXT-TO-COLUMNS機能!CSVデータの整形

【Googleスプレッドシート】テキストを列に分割するTEXT-TO-COLUMNS機能!CSVデータの整形
🛡️ 超解決

CSVデータやカンマ区切りのテキストをスプレッドシートに貼り付けたものの、すべてが1列に詰まってしまい困った経験はありませんか。そんなときに役立つのが「テキストを列に分割」機能です。この機能を使えば、カンマやタブなどの区切り文字を基準に、1つのセルのテキストを複数の列に一瞬で振り分けられます。本記事では、TEXT-TO-COLUMNS機能の基本的な使い方から、CSVデータの整形に役立つ応用テクニックまでをわかりやすく解説します。

【要点】テキストを列に分割するTEXT-TO-COLUMNS機能のポイント

  • 「データ」メニューから「テキストを列に分割」: 選択範囲に対してワンクリックで分割を実行でき、区切り文字の自動判別にも対応します。
  • カスタム区切り文字や固定幅の指定: デフォルトのカンマ以外に、セミコロン・タブ・スペース・カスタム文字を設定できます。
  • SPLIT関数との違いを理解: 元データをそのまま残すか、分割後に元データを削除するかなど、用途に合わせた使い分けができます。

ADVERTISEMENT

TEXT-TO-COLUMNS機能の概要とできること

TEXT-TO-COLUMNS機能は、1つのセル内に複数の値が区切り文字で並んでいるテキストを、自動的に複数の列に分割する機能です。例えば、「田中,東京,男性」という文字列がA1セルに入っている場合、この機能を実行すると、A1に「田中」、B1に「東京」、C1に「男性」と分割されます。分割の基準は、カンマ・タブ・セミコロン・スペースなどから選べるほか、任意の文字を指定することもできます。この機能は、CSVデータのインポート後や、外部システムから受け取ったテキストデータを整理する際に非常に便利です。

この機能の最大の利点は、数式や関数を使わずに直感的な操作で分割できる点です。また、分割結果は元のセルとは別の列に出力されるため、元データを保持したまま作業を進められます。分割後に元データを削除するかどうかは、後から手動で判断できます。一方で、分割後のデータを数式でさらに加工したい場合は、後述するSPLIT関数の方が適している場合もあります。

TEXT-TO-COLUMNS機能の基本的な使い方

ここでは、最も一般的なカンマ区切りのCSVデータを例に、テキストを列に分割する手順を説明します。操作はとてもシンプルで、マウスとメニューだけで完了します。

  1. 分割したいセル範囲を選択する
    まず、分割したいテキストが入っているセルまたはセル範囲を選択します。複数の行にわたるデータも一括で処理できます。
  2. メニューから「データ」→「テキストを列に分割」をクリックする
    画面上部のメニューバーから「データ」をクリックし、表示されるドロップダウンから「テキストを列に分割」を選びます。
  3. 区切り文字の種類を選択する
    画面下部に区切り文字の選択肢が表示されます。カンマ・タブ・セミコロン・スペースのいずれかを選ぶか、カスタムの区切り文字を入力します。CSVデータの場合は「カンマ」を選びます。
  4. 分割結果を確認する
    区切り文字を選択すると、直後に選択範囲の右側の列に分割されたデータが表示されます。元のセルはそのまま残ります。必要に応じて、元の列を削除するなどして整理します。

区切り文字を自動検出する方法

区切り文字の選択肢の中に「自動検出」という項目があります。これを選ぶと、Googleスプレッドシートがデータ内で最も多く使われている区切り文字を判断して自動的に適用します。カンマ・タブ・セミコロン・スペースのいずれかであれば、自動検出で正しく分割されることが多いです。ただし、複数の区切り文字が混在している場合や、データ内に区切り文字が含まれている場合は注意が必要です。

カスタム区切り文字を指定する方法

「カスタム」を選択すると、任意の文字や文字列を区切り文字として指定できます。例えば、パイプ記号「|」で区切られたデータや、「||」のように2文字以上の区切り文字にも対応します。区切り文字を入力するテキストボックスが表示されるので、そこに目的の文字を入力してください。大文字と小文字は区別されるので、正確に入力することが重要です。

固定幅で区切る方法

区切り文字ではなく、文字位置(固定幅)で分割することも可能です。「テキストを列に分割」のダイアログで「固定幅」を選択すると、ガイド線をドラッグして分割位置を指定できます。例えば、住所データのように文字数が決まっている場合などに便利です。ただし、固定幅はデータの内容に関係なく単純に文字数で区切るため、全角半角が混在する場合は注意してください。

TEXT-TO-COLUMNS機能の注意点とよくある失敗例

元データが同じ列に残る点に注意する

TEXT-TO-COLUMNSは元のセルの内容を変更せず、右側の列に分割結果を書き出します。そのため、元のデータが不要であれば手動で削除する必要があります。分割後に元の列を削除する場合は、分割結果に影響がないことを確認してから行ってください。また、元のデータを残したまま分割結果だけを利用することもできます。

データの一部に区切り文字が含まれている場合

例えば、「”東京,日本”」のように引用符で囲まれたカンマは区切り文字として扱われません。しかし、引用符のルールは厳密ではなく、複雑なCSVデータでは正しく分割されないことがあります。そのような場合は、QUERY関数やスクリプトを使うことを検討してください。

分割後の列数が右側のデータと重なる場合

分割結果を出力する列に既にデータが入力されていると、上書きされてしまいます。事前に右側の列が空であることを確認するか、分割前に別のシートにコピーするなどの対策をとってください。ワーニングは表示されないため、大切なデータを上書きしないよう注意が必要です。

分割後に数式が参照しているセルがずれる

TEXT-TO-COLUMNSは新しい列を挿入するのではなく、既存の列に上書き書き出しします。そのため、分割範囲の右側にある列を参照している数式がある場合、参照範囲がずれてエラーになることがあります。あらかじめ数式を確認してから実行してください。

ADVERTISEMENT

TEXT-TO-COLUMNSとSPLIT関数の比較

比較項目 TEXT-TO-COLUMNS機能 SPLIT関数
操作の手軽さ メニューから数クリックで完了し、関数知識が不要 数式の入力が必要だが、一度設定すれば自動更新される
元データの扱い 元データはそのまま残り、分割結果は別の列に出力 数式が元データを参照し、結果は動的に変化
区切り文字の指定 カンマ、タブ、セミコロン、スペース、カスタム、固定幅から選択 第2引数で任意の区切り文字を指定(文字列または正規表現)
分割後の列数を超えた場合 データが右側の列に収まらない場合、エラーにならずデータは切れる 分割数が多くても、SPLIT関数の結果は最大で列数に応じて表示
更新の自動化 手動で再実行が必要。元データを変更しても自動反映されない 元データが変わると自動的に再計算され結果が更新される
大量データの処理 一括で高速処理できるが、元データの変更には非対応 行数が多いと再計算に時間がかかる場合がある

まとめ

TEXT-TO-COLUMNS機能を使えば、CSVデータやカンマ区切りのテキストを、数式を使わずに簡単に複数の列に分割できます。区切り文字の自動検出やカスタム指定、固定幅にも対応しているため、さまざまな形式のデータを効率的に整形できます。ただし、元データが更新されるたびに再分割が必要な場合は、SPLIT関数の方が適しています。まずは手軽なTEXT-TO-COLUMNSでデータを整形してみて、必要に応じてSPLIT関数や他の機能を組み合わせてみてください。応用として、分割したデータを元にQUERY関数で集計したり、ARRAYFORMULAと組み合わせて一括処理を自動化することも可能です。ぜひ日々のデータ整理に活用してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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