Google ドキュメントから Google スプレッドシートへデータを移行する方法
このガイドでは、Google ドキュメント(Google Docs)から Google スプレッドシート(Google Sheets)へデータを移行する具体的な手順を、複数の代替方法、トラブルシューティング、チェックリスト、受け入れ基準、簡易スクリプト例とともに解説します。最も確実な方法は Docs を「Web ページ(.html, zipped)」でダウンロードして、圧縮を解凍後に Sheets へインポートする手順です。
Google Docs と Google Sheets は Google の Docs Editor スイートの一部です。Docs Editor はウェブベースの無償アプリ群で、Google ドキュメント、スプレッドシート、Google Keep、Google フォーム、Google スライドなどが含まれます。
ドキュメント内の表形式データをスプレッドシートに移し、より扱いやすく整理・保守したい場合、本記事で紹介する手順と代替アプローチを参照してください。

要点の定義
- Google ドキュメント(Docs): テキスト文書と表が混在するオンライン文書。
- Google スプレッドシート(Sheets): 表計算とデータ整理に適したオンライン表。
ステップバイステップガイド
以下は最も汎用性が高く安定した方法です。ドキュメントに表形式のデータが含まれている場合に推奨します。
Google ドキュメントをブラウザで開き、アカウントにサインインします。
移行したいドキュメントを開きます。
ドキュメントが開いたら、メニューから「ファイル > ダウンロード」を選びます。
注: ダウンロード形式は重要です。Google スプレッドシートがサポートする形式には、xls, xlsx, xlsm, xlt, xltx, xltm, ods, csv, txt, tsv, tab, html などがあります。表が含まれる Docs は「Web ページ(.html, zipped)」でのダウンロードが最も互換性が高い場合が多いです。
「Web ページ(.html, zipped)」を選択してダウンロードすると、.zip ファイルが得られます。Sheets は .zip を直接読み込めないため、zip を解凍して中の .html ファイルを取り出します。macOS では Finder でダブルクリック、Windows ではエクスプローラーで右クリックして解凍します。
ブラウザで Google スプレッドシートにアクセスし、アカウントにサインインします。
「新しいスプレッドシートを作成」の「空白」をクリックして新しいシートを作成します(または既存テンプレートを選択)。
メニューから「ファイル > インポート」を選び、インポートダイアログで「アップロード」タブを選択して「デバイスからファイルを選択」をクリックします。
解凍して取り出した .html ファイルを選択してアップロードします。
「インポート場所を選択」のプロンプトが表示されます。新しいシート上で作業しているなら「スプレッドシートを置換」を選び、「データをインポート」をクリックします。既存シートへ追加したい場合は他の選択肢を選びます。
最後に、画面上部の「無題のスプレッドシート」をクリックしてファイル名を指定して保存します。

インポート後に行うべき作業
インポートが完了すると、Docs の表は大抵タブ状に取り込まれますが、列幅、行の高さ、セルの書式(改行や結合セルなど)が崩れる場合があります。以下を確認してください。
- 列幅と行高さを調整する。
- セル結合や複数段落のテキストが期待通りに分割されているかを確認する。
- 数値・日付・通貨のセル書式が正しく設定されているかを確認する。

いつこの方法が適しているか、いつ避けるべきか
重要:
- 適しているケース: Docs 内に明確な表があり、行列で整理して扱いたい場合。書式よりも構造(セルごとの値)が重要なデータ。
- 適さないケース: ドキュメントが自由なテキストや複雑なレイアウト(段組み、画像と図の混在、合成テキスト)中心の場合。文書の見た目をそのまま保持したいときは非推奨。
カウンタ例(失敗しやすい例):
- 画像に埋め込まれた表を移行したい場合 — OCR や手動のテーブル作成が必要になる。
- 複数の表がページ内で散在している場合 — 正しい順序や論理的な結合が必要。
代替アプローチ
直接コピー&ペースト
- 小さな表や簡単なデータなら Docs の表を選択してコピーし、Sheets にペーストするだけで済みます。書式やセル内の改行が壊れることがあるため、後処理が必要です。
CSV にエクスポート
- 単純な一覧(1 表のみ、カンマ区切りで問題ない)であれば Docs 上で表を選択してスプレッドシートへ貼り付け、CSV としてダウンロードするのが早い場合があります。
Google Apps Script を使う(自動化)
- 定期的に大量のドキュメントを移行する場合、Apps Script で Docs のテーブルを取得して Sheets に書き込む自動スクリプトを作ると効率的です。以下に簡単な例を示します。
function importDocTablesToSheet() {
var docId = 'YOUR_DOC_ID'; // ドキュメントIDを指定
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var doc = DocumentApp.openById(docId);
var body = doc.getBody();
var tables = body.getTables();
sheet.clear();
var rowIndex = 1;
for (var t = 0; t < tables.length; t++) {
var table = tables[t];
for (var r = 0; r < table.getNumRows(); r++) {
var row = [];
var tr = table.getRow(r);
for (var c = 0; c < tr.getNumCells(); c++) {
row.push(tr.getCell(c).getText());
}
sheet.getRange(rowIndex, 1, 1, row.length).setValues([row]);
rowIndex++;
}
// テーブル間に空行を入れる
rowIndex++;
}
}- IMPORTRANGE や外部接続
- すでにシートにデータがある場合や他のスプレッドシートから参照したい場合は IMPORTRANGE 関数を使います(ただし Docs → Sheets の直接移行には使えません)。
簡易チェックリスト(編集者向け)
- ドキュメントに移行したい表が明確に存在する
- 重要な数値の書式(小数点、通貨、日付)をメモしておく
- ドキュメントを「Web ページ(.html, zipped)」でダウンロード済み
- .zip を解凍して .html ファイルを確認した
- Sheets へインポートして列幅・行高さを調整した
- 結果を短めのサンプルチェック(数行)で検証した
受け入れ基準
- 全ての表が期待した順序で Sheets に存在すること。
- 数値が文字列として取り込まれていないこと(必要ならセル書式で数値化)。
- 最低限の列幅・行高さ調整で読みやすく表示されること。
トラブルシューティング
問題: インポート後にセルが結合されたまま崩れている
- 対処: 影響範囲を選択して「結合解除」を実施し、必要に応じて手動で再結合する。
問題: 数値がテキストになっている
- 対処: 数値列を選択して「表示形式」→「数値」や通貨、日付に変更する。
問題: 改行がセル内で意図せず分割される
- 対処: 手動で改行を結合するか、TEXTJOIN 等の関数で再構成する。
問題: 大きなドキュメントで表の順序が不明瞭
- 対処: Docs の各表に識別用のラベル(例: 表1、表2)を付け、Apps Script でそのラベルを探して順序を固定する方法が有効。
メンタルモデルとヒューリスティック
- 小さいデータ(数十行): 手作業でのコピー&ペーストが最速。
- 中〜大規模データ(数百行以上、複数ドキュメント): Apps Script による自動化を検討。
- 見た目重視(レイアウトそのまま): スプレッドシート移行は再検討し、PDF やスライドにする方が適切。
セキュリティとプライバシーの注意
- ドキュメントをダウンロードするとローカルや共有ドライブに一時ファイルが残ります。個人情報や機密情報を扱う場合は、ダウンロード後に一時ファイルを確実に削除し、アクセス権を見直してください。
参考:簡易決定フロー(Mermaid)
flowchart TD
A[Docs 内に表があるか?] -->|はい| B[小さな表か?]
A -->|いいえ| C[移行不要または別手法]
B -->|はい| D[コピー&ペースト]
B -->|いいえ| E[Web ページ'.html, zipped'でダウンロード → 解凍 → Sheets にインポート]
E --> F[インポート後の調整]
D --> F
C --> G[手動で再構成、OCR、または別フォーマット検討]よくある Q&A(簡潔)
Q: 画像の中の表は移行できますか? A: 画像内の表は自動移行されません。OCR ツールを使うか、手動で入力する必要があります。
Q: 複数ページにまたがる表はどう扱う? A: Apps Script で各テーブルを順次読み出して結合するか、手動で順序を確認しながらインポート後に調整します。
まとめ
- 最も確実な一般手順は Docs を「Web ページ(.html, zipped)」でダウンロードし、解凍した .html を Sheets にインポートする方法です。
- 小規模な表はコピー&ペースト、定期的な大量移行は Apps Script による自動化が有用です。
- インポート後の書式調整(列幅、数値形式、改行)は必ず行って読みやすさを確保してください。
さらに詳しく読む:
- How to Use Google Docs Voice Typing to Dictate Text
- 15+ Best Google Docs Features Every User Should Know
- How to Make a Flow Chart in Google Docs
- 50+ Best Google Docs Keyboard Shortcuts for PC and Mac
- Using Google Docs for Writing? Ten Tips to Speed Things Up!
- How to Use Add-Ons in Google Docs
重要: 機密データを扱う場合は一時ファイルの管理とアクセス権を必ず確認してください。