ADVERTISEMENT

【Googleスプレッドシート】CSVに改行が含まれるデータの取込!ダブルクォート対応

【Googleスプレッドシート】CSVに改行が含まれるデータの取込!ダブルクォート対応
🛡️ 超解決

CSVファイルに改行が含まれるデータ(例えば住所の途中で改行されているもの)があると、Googleスプレッドシートにインポートした際に行が崩れてしまうことがあります。これはダブルクォートの扱いが原因であることが多いです。本記事では、改行を含むCSVデータを正しくスプレッドシートに取り込む方法を、ダブルクォート対応を中心に解説します。具体的なCSVの書き方やインポート設定、そして取り込み後に崩れた場合の修正手順を紹介します。

【要点】CSVの改行データを正しく取り込むための3つのポイント

  • ダブルクォートで改行を含むセルを囲む: CSVのルールに従い、改行を含むデータは必ずダブルクォートで囲みます。これにより、改行がフィールド内の改行として認識されます。
  • インポート時に「引用符で囲まれている」設定を確認する: Googleスプレッドシートのデータインポートダイアログで、引用符の扱いが正しく設定されているかを確認します。
  • 取り込み後にテキストを結合する関数を使う: 取り込み後に改行が分割されてしまった場合、JOIN関数などで元のデータを復元する方法も併せて覚えておきましょう。

ADVERTISEMENT

CSVとダブルクォートの基本ルール

CSV(Comma-Separated Values)は、カンマでデータを区切るテキストファイル形式です。通常、改行は新しいレコード(行)の開始を意味します。しかし、1つのセル内に改行を含めたい場合、そのセル全体をダブルクォート(“)で囲むというルールがあります。このルールはRFC 4180で定義されており、多くのアプリケーションがこれに従います。Googleスプレッドシートもこのルールに従ってCSVを解釈します。そのため、正しくダブルクォートを使わないと、改行がレコード区切りと見なされてデータが崩れます。

改行を含むCSVを正しく取り込む手順

方法1:CSVファイルを正しく作成する

  1. テキストエディタでCSVファイルを開く
    メモ帳やVisual Studio CodeなどのプレーンテキストエディタでCSVファイルを開きます。Excelで直接開くと自動変換される場合があるため、テキストエディタが確実です。
  2. 改行を含むセルをダブルクォートで囲む
    改行を含むデータ全体をダブルクォートで囲みます。例えば住所のデータが「東京都新宿区\n西新宿1-1-1」の場合、ダブルクォートで囲んで「”東京都新宿区\n西新宿1-1-1″」とします。改行は実際の改行コード(LFまたはCRLF)です。
  3. カンマやダブルクォートをエスケープする
    このとき、セル内にカンマがある場合はそのまま記述して問題ありませんが、ダブルクォート自体を含めたい場合は倍のダブルクォート(“”)でエスケープします。例:「””東京都新宿区””」は「”東京都新宿区”」と解釈されます。

方法2:Googleスプレッドシートにインポートする

  1. 「ファイル」メニューから「インポート」を選択する
    Googleスプレッドシートのメニューバーから「ファイル」→「インポート」をクリックします。
  2. CSVファイルをアップロードする
    「アップロード」タブで該当のCSVファイルを選択し、アップロードします。
  3. インポート設定で引用符の扱いを確認する
    インポートダイアログの「区切り文字」で「カンマ」を選択し、「引用符で囲まれている」のチェックが入っていることを確認します。これでダブルクォートが正しく認識されます。設定後、「インポート」ボタンをクリックします。

方法3:取り込み後に崩れたデータを修正する

もしインポート結果が崩れてしまった場合、以下の手順で修復できます。

  1. 改行が分割された行を特定する
    本来1行であるべきデータが複数行に分かれていないか確認します。例えば、住所が2行に分割されてしまっている場合です。
  2. JOIN関数でテキストを結合する
    分割されたセルを結合するには、=JOIN(CHAR(10), A1:A2) のようにJOIN関数を使います。CHAR(10)は改行を表します。結合後は値としてコピーするなどしてデータを固定します。
  3. クエリ関数でまとめて処理する
    大量のデータがある場合、=QUERY(A:A, “select max(A) group by B”) などで集約することも可能ですが、データ構造によるため注意が必要です。

改行データ取込でよくあるトラブルと対処法

ダブルクォートが不足している場合

CSVファイルを生成するシステムでダブルクォートが正しく付与されていないケースです。この場合、テキストエディタで手動でダブルクォートを追加するか、正規表現で置換します。例えば、改行を含むセルが特定のパターンを持つなら、検索置換で一括修正できます。

インポート時に引用符設定を忘れた場合

インポートダイアログで「引用符で囲まれている」のチェックを外してインポートすると、ダブルクォートが無視され、改行がそのままレコード区切りとして扱われます。この場合は、インポートをやり直すか、後述の関数修正方法を試します。再インポート時の設定を忘れないようにしましょう。

改行コードがLFとCRLFで異なる場合

CSVファイルの改行コードがLF(Unix系)かCRLF(Windows系)かによって、スプレッドシートの動作が変わることがあります。Googleスプレッドシートは両方に対応していますが、まれに認識がずれることがあります。その場合は、テキストエディタで改行コードを統一してからインポートすると安定します。

ADVERTISEMENT

CSV改行データ取込方法の比較

方法 メリット デメリット 適しているケース
事前にCSVをダブルクォートで整形 正しい取込が確実 手間がかかる 自分でCSVを作成する場合
インポート設定を調整 柔軟性が高い 設定を忘れがち 既存のCSVをそのまま使いたい場合
取り込み後に関数で修正 後からでも対応可能 データ量が多いと大変 少量のデータで事後対応したい場合

まとめ

本記事では、CSVファイル内に改行を含むデータをGoogleスプレッドシートに正しく取り込む方法を解説しました。ダブルクォートを適切に使ったCSVの作成方法、インポート時の引用符設定の確認、そして崩れた場合の関数を使った修復方法を学びました。次に、実際に自分のデータで試してみてください。特に、外部システムから出力されるCSVではダブルクォートの有無を確認すると良いでしょう。さらに応用として、Google Apps Scriptを使って自動的にCSVを整形する処理も検討できます。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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