広告

【Googleドキュメント】表データを別シートに自動同期!Sheets連携の更新

【Googleドキュメント】表データを別シートに自動同期!Sheets連携の更新
🛡️ 超解決

Googleドキュメントで作成した表を、毎回手動でスプレッドシートにコピー・貼り付けしていませんか?更新のたびに同じ作業を繰り返すのは非効率です。この記事では、Googleドキュメントの表データをGoogleスプレッドシートに自動同期する2つの方法を詳しく解説します。アドオンを利用する方法と、Google Apps Scriptを使う方法です。これらの方法を覚えれば、手作業から解放され、常に最新のデータをスプレッドシートで管理できるようになります。

【要点】Googleドキュメントの表をスプレッドシートに自動同期する方法

  • アドオン「Table to Sheet」をインストールする方法: ワンクリックでドキュメント内の表をスプレッドシートに転送できます。簡単な操作で同期を自動化したい場合に最適です。
  • Google Apps Scriptでカスタムスクリプトを作成する方法: 柔軟な更新タイミングやデータ整形が可能です。特定のシートに自動的に行を追加するなど、高度な制御ができます。
  • スプレッドシートのデータをドキュメントにリンク埋め込みする方法: 逆向きの連携として、スプレッドシートの表をドキュメントに埋め込めます。元データの更新が自動反映されるため、ドキュメント側も最新を保てます。

ADVERTISEMENT

Googleドキュメントとスプレッドシートの連携の仕組み

GoogleドキュメントとGoogleスプレッドシートは、どちらもGoogle Workspaceのツールです。両者には直接の自動同期機能が標準で備わっていませんが、アドオンやGoogle Apps Scriptを利用することでデータの受け渡しを自動化できます。また、スプレッドシートのデータをドキュメントに埋め込む「リンク埋め込み」機能は標準で提供されており、更新が自動反映される利点があります。この記事では、主にGoogleドキュメントの表データをスプレッドシートに自動で同期する方法に焦点を当てます。

アドオンを使って自動同期する手順

アドオン「Table to Sheet」のインストールと使い方

  1. アドオンをインストールする
    Googleドキュメントを開き、メニューバーから「拡張機能」→「アドオン」→「アドオンを取得」をクリックします。検索窓に「Table to Sheet」と入力し、表示されたアドオンを選択してインストールします。権限の確認画面が表示されたら「許可」をクリックします。
  2. アドオンを起動する
    インストールが完了すると、メニューバーに「Table to Sheet」が追加されます。これをクリックし、「Open」を選択します。サイドバーが表示されます。
  3. 表を選択して転送する
    ドキュメント内の同期したい表をクリックで選択し、サイドバーの「Copy Table to Sheet」ボタンをクリックします。表示されるダイアログで、転送先のスプレッドシートを新規作成するか、既存のものを選択します。
  4. 自動同期を確認する
    元のドキュメントの表を編集すると、アドオンがバックグラウンドで変更を検知し、スプレッドシートに自動反映します。反映までに数秒から数十秒かかる場合があります。

このアドオンは無料版と有料版があります。無料版では1日あたりの転送回数に制限があるため、頻繁に更新する場合は有料版を検討してください。

Google Apps Scriptを使って自動同期する手順

カスタムスクリプトの作成と実行

  1. Apps Scriptエディタを開く
    Googleドキュメントを開き、メニューバーから「拡張機能」→「Apps Script」を選択します。スクリプトエディタが新しいタブで開きます。
  2. スクリプトコードを記述する
    以下のサンプルコードをエディタに貼り付けます。このコードは、ドキュメント内のすべての表をスプレッドシートに転送します。
    function syncTables() {
    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();
    var tables = body.getTables();
    var sheet = SpreadsheetApp.openById('YOUR_SPREADSHEET_ID').getActiveSheet();
    for (var i = 0; i < tables.length; i++) {
    var rows = tables[i].getNumRows();
    var cols = tables[i].getNumColumns();
    for (var r = 0; r < rows; r++) {
    var rowData = [];
    for (var c = 0; c < cols; c++) {
    rowData.push(tables[i].getCell(r, c).getText());
    }
    sheet.appendRow(rowData);
    }
    sheet.appendRow(['']); // 表の間に空白行を追加
    }
    }

    「YOUR_SPREADSHEET_ID」は実際のスプレッドシートIDに置き換えてください。
  3. スクリプトを保存して実行する
    プロジェクト名を入力し、保存ボタンをクリックします。実行ボタン(▶)をクリックすると、初回は権限の承認が求められます。自分のアカウントを許可してください。
  4. トリガーを設定して自動化する
    定期的に同期したい場合は、エディタの左側の時計アイコン(トリガー)をクリックし、「トリガーを追加」を選択します。実行する関数を「syncTables」に設定し、時間間隔(例:1時間おき)を指定します。

Apps Scriptでは、コードをカスタマイズすることで特定の表だけを同期したり、データを整形してから転送することもできます。スクリプトの実行時間は最大6分間ですが、大量のデータを扱う場合は分割するなどの工夫が必要です。

ADVERTISEMENT

注意点とよくあるトラブル

アドオンが動作しない場合

アドオンが正常に動作しない原因として、権限が不足していることが考えられます。一度アドオンを削除し、再度インストールして権限を再許可してください。また、アドオンが最新バージョンかを確認し、必要に応じて更新します。

Apps Scriptでエラーが発生する場合

スクリプト実行時にエラーが発生する主な原因は、スプレッドシートIDの指定ミスや、ドキュメントに表が存在しないことです。また、表のセルに画像や複雑な書式が含まれていると、テキスト抽出に失敗することがあります。その場合は、表をシンプルなテキストのみに整形してから試してください。

データの同期漏れに注意する

アドオンやスクリプトは、ドキュメントの編集後すぐに同期するとは限りません。更新間隔やトリガーの設定によって、反映までにタイムラグが生じます。リアルタイム性が求められる場合は、手動で同期するか、トリガーの間隔を短く設定してください。

アドオンとApps Scriptの比較

項目 アドオン (Table to Sheet) Apps Script
導入の手軽さ 非常に簡単(インストールのみ) プログラミング知識が必要
カスタマイズ性 低い(基本機能のみ) 高い(自由にスクリプトを記述)
更新の自動化 自動更新(アドオンが変更を検知) トリガーで定期実行または手動実行
コスト 無料版あり(制限あり)、有料版あり 完全無料(Googleアカウントのみ)
データ量の制限 アドオンの仕様による スクリプトの実行時間やQuotaによる

まとめ

この記事では、Googleドキュメントの表データをGoogleスプレッドシートに自動同期する2つの方法を解説しました。アドオン「Table to Sheet」を使えば、プログラミングの知識がなくても簡単に同期を開始できます。一方、Google Apps Scriptを使えば、データの整形や複数表の一括転送など、より柔軟な制御が可能です。用途やスキルに合わせて最適な方法を選んでください。次のステップとして、スプレッドシート側で同期したデータを元にグラフを作成したり、他の関数と組み合わせて分析に活用することもおすすめします。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

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

SPONSORED