コンテンツへスキップ
超解決
  • トップページ
  • 詐欺メールチェッカー
  • 日本語テキスト整形・変換ツール(全角半角・改行・空白を一括処理)
  • 高機能・文字数カウント(自動保存付き)
  • パスワード生成ツール
  • 全記事一覧(サイトマップ)
  1. ホーム
  2. デジタル・IT
  3. Office・仕事術
  4. 【Googleドキュメント】スクリプトの実行回数制限に当たる時の分割処理

【Googleドキュメント】スクリプトの実行回数制限に当たる時の分割処理

2026年6月12日2026年6月22日
Office・仕事術 Googleスプレッドシート Googleドキュメント 会社アカウント・認証
【Googleドキュメント】スクリプトの実行回数制限に当たる時の分割処理
🛡️ 超解決

GoogleドキュメントでGoogle Apps Script(GAS)を使っていると、ある日突然「実行回数が上限に達しました」というエラーが表示されることがあります。この制限はGoogleのサービス全般に設定されているクォータ(割当量)によるもので、特に業務で大量のデータを処理するスクリプトを頻繁に実行する場合に遭遇しやすい問題です。制限に当たった場合、単に待つだけでなく、スクリプトの処理を分割して実行回数を効率的に使う方法が有効です。ここでは、具体的な原因と確認手順、分割処理の実装方法、失敗パターン、そして管理者に伝えるべき情報を詳しく解説します。

【要点】この記事で確認すること

  • 最初に見る場所: Google Apps Scriptエディタの「現在の制限」から現在のクォータ使用状況を確認する。また、実行ログやエラーメッセージの内容を確認する。
  • 切り分けの軸: 制限の種類(1日あたりの実行回数、同時実行数、合計実行時間など)を特定し、その上限に達しているのかどうかを切り分ける。また、スクリプトの処理内容(データ量やループ回数)が適切かどうかも判断する。
  • 注意点: 会社PCで共有ドライブや組織アカウントを使っている場合、スクリプトの変更には管理者の承認が必要なケースがある。また、分割処理を導入してもクォータそのものが増えるわけではないため、根本的な改善には管理者によるクォータ引き上げ申請が必要な場合もある。
超解決ツール無料登録不要ブラウザ内処理CSVExcel・CSVデータ修復・整形文字化け、列崩れ、先頭ゼロ、重複、空行をブラウザ内で修正できます。Excel・CSVを修正する

ADVERTISEMENT

目次

  • 1. 発生原因とクォータの種類
  • 2. 制限に当たったときの確認手順
    • 2.1. 1. エラーメッセージと実行ログの確認
    • 2.2. 2. 現在のクォータ使用状況の確認
    • 2.3. 3. トリガーの設定と実行間隔の見直し
  • 3. 分割処理の実装方法
    • 3.1. チャンク分割(データ件数で分割)
    • 3.2. ジョブ分割(機能単位で分割)
  • 4. 失敗パターンと注意点
    • 4.1. パターン1: 分割数が多すぎてトリガークォータに引っかかる
    • 4.2. パターン2: 再帰呼び出しでスタックオーバーフローや実行時間超過
    • 4.3. パターン3: 分割単位が小さすぎて逆にオーバーヘッドが増加
  • 5. 管理者に伝えるべき情報
  • 6. よくある質問
    • 6.1. Q1: 分割処理をしてもすぐに制限に当たってしまいます。どうすればよいですか?
    • 6.2. Q2: トリガーを使わずに分割処理する方法はありますか?
    • 6.3. Q3: 分割処理のバッチサイズはどれくらいが適切ですか?
  • 7. まとめ
    • 7.1. 解決 関連記事でさらに詳しく
    • 7.2. Office・仕事術の人気記事ランキング

発生原因とクォータの種類

Google Apps Scriptには、サービスクォータと呼ばれる利用制限が設けられています。この制限はGoogle Workspaceの全エディション共通のものと、利用者ごとに異なるものがあります。主な制限には以下の種類があります。

制限の種類 内容 代表的な上限値
実行回数(1日あたり) スクリプト全体の実行回数。時刻トリガーやカスタムメニューからの呼び出しも含む。 コンシューマー版: 90回/日、Workspace版: 20,000回/日(エディションにより変動)
合計実行時間(1日あたり) すべてのスクリプト実行の合計時間。長時間実行で制限に当たりやすい。 コンシューマー版: 1時間、Workspace版: 6時間~無制限(エディションによる)
同時実行数 同時に実行できるスクリプトの数。トリガーが重なるとエラーになる。 コンシューマー版: 1、Workspace版: 30
特定サービスクォータ Gmail送信やURL Fetchの呼び出し回数など、サービス固有の制限。 例: Email受信者数(1日): 100、URL Fetch(1日): 20,000

これらの制限に達すると、スクリプトが途中で停止し「実行回数が上限を超えました」や「スクリプトがタイムアウトしました」といったエラーが発生します。特に、1日に何度もスクリプトを実行するバッチ処理や、大量のデータをループして処理するケースで頻発します。

※ お探しの解決策が見つからない場合は、こちらの「会社アカウント・認証トラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

制限に当たったときの確認手順

1. エラーメッセージと実行ログの確認

まずは、スクリプトエディタの「表示」→「ログ」または「実行数」から最新の実行ログを確認します。エラーが発生した場合、赤いアイコンが表示され、詳細メッセージに「Quota exceeded」や「Maximum execution time exceeded」などと記載されます。これによりどの制限に引っかかったかが特定できます。

2. 現在のクォータ使用状況の確認

スクリプトエディタのメニューから「表示」→「現在の制限」を選択します。ここには、そのスクリプトに適用されているサービスクォータの使用量と上限が一覧表示されます。「今日の実行数」「今日の合計実行時間」などを確認し、上限に近づいていないかチェックします。また、同じGoogleアカウントで他のスクリプトが動作していないかも確認しましょう。

3. トリガーの設定と実行間隔の見直し

スクリプトに時刻トリガーやイベントトリガーが設定されている場合、その実行間隔が短すぎると制限に当たりやすくなります。トリガーの設定画面から実行頻度を確認し、必要以上に頻繁に実行されていないか見直します。たとえば、1分ごとに実行するトリガーを10分ごとに変更するだけで、実行回数が大幅に削減できます。

分割処理の実装方法

制限を回避するには、一度にすべての処理を行わず、小さな単位に分割して実行する方法が効果的です。代表的な分割手法は「チャンク分割」と「ジョブ分割」です。以下に具体的な手順を示します。

チャンク分割(データ件数で分割)

大量のデータを処理する場合、一度に処理する行数やアイテム数を制限し、複数回に分けて実行します。次の例では、スプレッドシートのデータを100行ずつ処理します。

  1. 処理対象のデータ件数(例: 全行数)を取得します。
  2. 1回のバッチで処理する最大件数(例: 100行)を設定します。
  3. ループ内で開始行と終了行を計算し、その範囲のデータのみを処理します。
  4. 1回の処理が終わるごとに、次回の開始位置を保存するためにスクリプトプロパティや一時ファイルに保存します。
  5. すべてのデータを処理完了したら、トリガーを削除するなどの後処理を行います。

この方法では、スクリプトを複数回呼び出す必要があるため、時間トリガーを使って一定間隔で実行させるか、または再帰的にスクリプトを呼び出す実装にします。ただし、再帰呼び出しは実行回数を消費するため、トリガーを使うほうが管理しやすい場合があります。

ジョブ分割(機能単位で分割)

処理内容が複数の独立した機能から構成されている場合、各機能を別々の関数に分け、それぞれを個別のトリガーやカスタムメニューから実行できるようにします。たとえば、「データ取得」「加工」「出力」の3工程をそれぞれ別の関数に分割し、それぞれを逐次実行するか、1日あたりの実行回数を分散させます。

// 分割処理の例(疑似コード)
function processBatch(batchSize) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var totalRows = data.length;
  var startRow = getStartRow(); // プロパティから前回の続きを取得
  var endRow = Math.min(startRow + batchSize, totalRows);
  for (var i = startRow; i < endRow; i++) {
    // 各行の処理
  }
  saveStartRow(endRow);
  if (endRow < totalRows) {
    // まだ処理が残っていればトリガーを設定して次回実行
    ScriptApp.newTrigger('processBatch').timeBased().everyMinutes(5).create();
  } else {
    // 完了したのでトリガー削除
    var triggers = ScriptApp.getProjectTriggers();
    for (var j = 0; j < triggers.length; j++) {
      ScriptApp.deleteTrigger(triggers[j]);
    }
  }
}

注意点として、トリガーを動的に作成する場合は、既存のトリガーを削除しないと無制限にトリガーが増えるため、管理が必要です。また、トリガーの作成にもクォータが消費されます(トリガー数に上限あり)。

失敗パターンと注意点

パターン1: 分割数が多すぎてトリガークォータに引っかかる

分割処理のために大量のトリガーを作成すると、プロジェクトあたりのトリガー数上限(現在は20個)に達する可能性があります。トリガーを使いすぎないよう、1つのトリガーで複数バッチを処理するか、トリガー数を監視する仕組みを入れてください。

パターン2: 再帰呼び出しでスタックオーバーフローや実行時間超過

再帰的にスクリプトを呼び出す方法は、1回の実行時間を短縮できる反面、再帰の深さが増すとスタックエラーや合計実行時間の制限に引っかかることがあります。再帰呼び出しはせずに、時間トリガーで一定間隔をあけて実行するほうが安全です。

パターン3: 分割単位が小さすぎて逆にオーバーヘッドが増加

1回のバッチサイズを極端に小さくすると、スクリプトの起動オーバーヘッドが増え、かえって合計実行時間が長くなることがあります。適切なバッチサイズは、処理内容やデータ量によりますが、数百から数千単位で調整するとよいでしょう。

管理者に伝えるべき情報

もし会社の管理下にあるGoogle Workspaceアカウントでクォータ制限に頻繁に当たる場合、管理者に以下の点を伝えることで、根本的な解決につながる可能性があります。

  • クォータの増加申請: Google Workspaceのエディションによっては、管理者がGoogleに申請して特定のクォータを引き上げてもらうことができます。特にBusiness StandardやEnterpriseエディションでは、上限が高く設定されています。
  • エディションの見直し: 現在のエディションがコンシューマー版やBusiness Starterの場合、Business Standard以上にアップグレードすることで利用可能なクォータが大幅に増加します。
  • スクリプトの監査: 組織内で同じアカウントを使用している場合、他のスクリプトがリソースを消費している可能性があります。管理者に監査を依頼し、不要なスクリプトの停止や最適化を促してください。

よくある質問

Q1: 分割処理をしてもすぐに制限に当たってしまいます。どうすればよいですか?

分割処理のバッチサイズや実行間隔を見直してください。また、他のスクリプトが同じアカウントで動作していないか確認しましょう。それでも改善されない場合は、管理者にエディションのアップグレードやクォータの引き上げを依頼してください。

Q2: トリガーを使わずに分割処理する方法はありますか?

可能です。スクリプト内で「CacheService」や「PropertiesService」を使って処理の続きを保存し、ユーザーが手動で繰り返し実行する仕組みも考えられます。ただし、自動化には不向きです。また、Googleの「シンプルトリガー」(onOpenなど)も利用できますが、実行回数や時間制限は同様に適用されます。

Q3: 分割処理のバッチサイズはどれくらいが適切ですか?

一般的な目安として、1回のスクリプト実行で処理する行数を1,000~5,000行程度に設定すると、実行時間が数分以内に収まることが多いです。ただし、データの複雑さやAPI呼び出しの有無によって調整してください。最初は小さめの値(100行など)から始めて、制限に当たらない範囲で徐々に増やすと安全です。

まとめ

Googleドキュメントのスクリプト実行回数制限に当たった場合、まずは現在のクォータ使用状況を確認し、何の制限に引っかかっているのかを特定することが重要です。その上で、処理を分割する方法としてチャンク分割やジョブ分割を導入することで、制限を回避しながらスクリプトを継続して実行できるようになります。ただし、分割処理だけでは根本的な解決にならないケースもあるため、管理者と協力してエディションの見直しやクォータの増加申請を検討してください。また、定期的に実行ログとトリガー設定を確認し、適切なバッチサイズと実行間隔を保つことで、安定した運用が可能になります。


📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
🔐
会社アカウント・認証トラブル完全解決データベース 職場または学校アカウント、MFA、Authenticator、VPN、権限、会社ポリシーで止まる問題を横断的に確認できます。
この記事の監修者
✍️

超解決 第一編集部

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

解決 関連記事でさらに詳しく

  • 🛠️【Zoom】SSOプロビジョニングが失敗するZoomエラー100006 の管理者対処
  • 🔎【Googleスプレッドシート】データを並べ替えしたら数式が崩れた!絶対参照の正しい使い方
  • ✅【Teams】プレゼンス同期が終わらない時のキャッシュ・資格情報・保存場所確認
  • ⚡【Box】管理対象ユーザーの移管が特定ユーザーだけ反映されない時の共有設定と所有者確認
  • 💡【Googleドキュメント】表に行の合計を表示!Sumの代替手段
  • ⚡【Slack】Outlook予定表連携で権限エラーが出る時の通知設定とポリシー確認

Office・仕事術の人気記事ランキング

  • 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
  • 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
  • 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
  • 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
  • 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
  • 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
  • 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
  • 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
  • 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
  • 【Box】Box Toolsが動かずOffice編集できない時の直し方
Office・仕事術 Googleスプレッドシート Googleドキュメント 会社アカウント・認証
Googleスプレッドシート Apps Script・自動化 google-docs 会社アカウント・認証 会社ポリシー・条件付きアクセス
  • 【Googleドキュメント】差し込み後にPDFだけ作成したい時の保存形式指定
  • 【Googleドキュメント】文書IDを間違えずにスクリプトへ指定する確認方法
⚠️
【最新】通信・アプリ障害まとめ 更新中 リアルタイムで発生中の障害を即チェック
公式サービス障害モニターAI・クラウド・業務ツールの障害・復旧情報を自動取得
🔴 速報・最新トラブル
  • 09.01 【復旧 2026年9月4日】Microsoft 365障害|Outlookの残る影響も解消、復旧後の確認事項
  • 08.29 【復旧 2026年8月29日】大雨で石川・富山の携帯電話がつながりにくい障害|ドコモ・au・SoftBank・MVNO
  • 08.28 【復旧 2026年8月28日】GitHub Billingの予算ページでエラー|Copilot CLIセッションへの影響と現状
  • 08.27 【復旧 2026年8月28日】GitHub ActionsとPull Requestで遅延・タイムアウト|ワークフロー起動に影響
  • 08.26 Teams 【復旧 2026年8月26日】Microsoft Teams障害|APACで会議参加・画面共有に影響、メンテナンス停止で復旧
  • 08.22 【速報 2026年8月22日】Cloudflare Zero Trustのポスチャーチェック障害は復旧|WARPへの影響
  • 08.22 【速報 2026年8月22日】ChatGPTで勝手にログアウトする障害は復旧|再読み込み時の影響
  • 08.21 【速報 2026年8月21日】GitHub Copilot Cloud Agentのタスク遅延は復旧|影響と確認事項
  • 08.14 【続報 2026年9月9日】Slackの過去メッセージ障害|復元の進捗とスレッド返信リンクの修正
  • 08.13 Win 【解決 2026年8月】Windows 11 KB5121003後に一部ゲームが停止|原因はRGB機器のドライバー
Windows・業務ツール 更新・不具合の最新情報 公式発表と速報を時系列で確認 →
🔍 落とし物トラブル解決
🔍
落とし物発見ナビ 3ステップ診断で発見ルートを提示・PNG保存可
📚
落とし物解決DB 電車・バス・空港・海外・ペット網羅

仕事で使える無料オンラインツール

超解決ツール 目的に合うツールを探す PDF編集、Excel・CSV修復、画像・OCR、文章整形、日付・勤務・計算、安全確認を目的別に探せます。
  • 文書・データ
  • PDF・ファイル
  • 画像・OCR
  • 安全確認
  • 日付・計算
  • 音声・動画
無料オンラインツール一覧を開く →
📚 ITトラブル解決DB
💻
Windows解決DB 不具合・設定・エラーを完全解決
🧭
Edge解決DB 表示・パスワード・拡張機能を完全解決
📊
Excel解決DB エラー・不具合の対処法を網羅
📝
Word解決DB 不具合・書式・設定のトラブル解消
✨
Copilot解決DB 使い方・エラー・設定を完全解決
👥
Teams/Outlook解決DB 接続・サインイン・送受信の不具合解消
📽️
PowerPoint解決DB マスター固定・図形結合・動画再生の解消
📑
PDFトラブル解決DB 閲覧・編集・結合・印刷のエラー解消
🏛️
確定申告解決DB e-Tax・マイナンバーカードの不具合解消
📱
Facebook解決DB 乗っ取り・権限譲渡・ログイン障害に対応
📗
Sheets解決DB 関数エラー・Apps Script・共有の解消
📝
Docs解決DB 書式・共有・Apps Script・参考文献の解消
🎥
Zoom解決DB 参加・画面共有・録画・Webinarの解消
✨
生成AI解決DB 基礎・料金・著作権・社内ルールの解消
🍎
iPhone解決DB 起動・Wi-Fi・アプリ・設定の解消
🤖
Android解決DB 設定・アプリ・通信・カスタマイズの解消
🔐
会社アカウント認証DB MFA・サインイン・VPN・権限の不具合解消
🔗
社内ネットワーク・VPN DB接続・共有・RDP・DNS・社内制限を解決
☁
OneDrive・SharePoint DB同期・共有・権限・復元の不具合解消
📄
勤怠・給与・人事 DB打刻・給与明細・人事通知・認証トラブル
🧩
Notion解決DB 共有・権限・DB・AIの不具合解消

目的から探す

  • 通信・アプリ障害の最新情報
  • Windows・業務ツールの更新・不具合
  • 落とし物トラブル解決
  • 仕事で使える無料オンラインツール一覧

主要な解決データベース

  • Windowsの不具合・設定
  • Microsoft Edgeの不具合・設定
  • Excelのエラー・不具合
  • Wordの書式・設定トラブル
  • Teams・Outlookの不具合
  • PDFの閲覧・編集・印刷トラブル
  • 会社アカウント・認証トラブル
  • 社内ネットワーク・VPNトラブル

関連サイトWiseChecker(海外向け)

  • トップページ
  • 本サイトについて・運営企業情報
  • 著書の紹介
  • プライバシーポリシー

© 超解決.