CSVファイルに改行が含まれるデータ(例えば住所の途中で改行されているもの)があると、Googleスプレッドシートにインポートした際に行が崩れてしまうことがあります。これはダブルクォートの扱いが原因であることが多いです。本記事では、改行を含むCSVデータを正しくスプレッドシートに取り込む方法を、ダブルクォート対応を中心に解説します。具体的なCSVの書き方やインポート設定、そして取り込み後に崩れた場合の修正手順を紹介します。
【要点】CSVの改行データを正しく取り込むための3つのポイント
- ダブルクォートで改行を含むセルを囲む: CSVのルールに従い、改行を含むデータは必ずダブルクォートで囲みます。これにより、改行がフィールド内の改行として認識されます。
- インポート時に「引用符で囲まれている」設定を確認する: Googleスプレッドシートのデータインポートダイアログで、引用符の扱いが正しく設定されているかを確認します。
- 取り込み後にテキストを結合する関数を使う: 取り込み後に改行が分割されてしまった場合、JOIN関数などで元のデータを復元する方法も併せて覚えておきましょう。
ADVERTISEMENT
目次
CSVとダブルクォートの基本ルール
CSV(Comma-Separated Values)は、カンマでデータを区切るテキストファイル形式です。通常、改行は新しいレコード(行)の開始を意味します。しかし、1つのセル内に改行を含めたい場合、そのセル全体をダブルクォート(“)で囲むというルールがあります。このルールはRFC 4180で定義されており、多くのアプリケーションがこれに従います。Googleスプレッドシートもこのルールに従ってCSVを解釈します。そのため、正しくダブルクォートを使わないと、改行がレコード区切りと見なされてデータが崩れます。
改行を含むCSVを正しく取り込む手順
方法1:CSVファイルを正しく作成する
- テキストエディタでCSVファイルを開く
メモ帳やVisual Studio CodeなどのプレーンテキストエディタでCSVファイルを開きます。Excelで直接開くと自動変換される場合があるため、テキストエディタが確実です。 - 改行を含むセルをダブルクォートで囲む
改行を含むデータ全体をダブルクォートで囲みます。例えば住所のデータが「東京都新宿区\n西新宿1-1-1」の場合、ダブルクォートで囲んで「”東京都新宿区\n西新宿1-1-1″」とします。改行は実際の改行コード(LFまたはCRLF)です。 - カンマやダブルクォートをエスケープする
このとき、セル内にカンマがある場合はそのまま記述して問題ありませんが、ダブルクォート自体を含めたい場合は倍のダブルクォート(“”)でエスケープします。例:「””東京都新宿区””」は「”東京都新宿区”」と解釈されます。
方法2:Googleスプレッドシートにインポートする
- 「ファイル」メニューから「インポート」を選択する
Googleスプレッドシートのメニューバーから「ファイル」→「インポート」をクリックします。 - CSVファイルをアップロードする
「アップロード」タブで該当のCSVファイルを選択し、アップロードします。 - インポート設定で引用符の扱いを確認する
インポートダイアログの「区切り文字」で「カンマ」を選択し、「引用符で囲まれている」のチェックが入っていることを確認します。これでダブルクォートが正しく認識されます。設定後、「インポート」ボタンをクリックします。
方法3:取り込み後に崩れたデータを修正する
もしインポート結果が崩れてしまった場合、以下の手順で修復できます。
- 改行が分割された行を特定する
本来1行であるべきデータが複数行に分かれていないか確認します。例えば、住所が2行に分割されてしまっている場合です。 - JOIN関数でテキストを結合する
分割されたセルを結合するには、=JOIN(CHAR(10), A1:A2) のようにJOIN関数を使います。CHAR(10)は改行を表します。結合後は値としてコピーするなどしてデータを固定します。 - クエリ関数でまとめて処理する
大量のデータがある場合、=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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
