IMPORTRANGE で「参照元のスプレッドシートが共有とインポートの上限容量に達しています」と出たときは、読み込む範囲を狭めても直りません。原因は参照元(ソース)シート側の共有枠が満杯になっていることです。Google の公式ヘルプは、IMPORTRANGE で読み込み先に許可したアクセス権がソースシートの共有の制限(600 ユーザー)にカウントされると明記しています。
つまり対処は1つで、参照元シートの共有設定から不要な相手を外し、枠を空けてから数式を入れ直すことです。このエラーはセル数や容量の話ではないため、行や列を削除しても、範囲を A1:C100 のように絞っても消えません。以下では、よく似た別のエラーとの切り分け、枠を空ける具体的な手順、そして同じことを毎月繰り返さないための運用までを順に説明します。
まず切り分ける:3分で「本当に共有枠か」を確定させる
このエラーは文言が長いため、別の上限エラーと取り違えられがちです。先に切り分けておかないと、関係のないデータ削除に時間を使うことになります。ここで行う操作はすべて読み取りだけで、シートの中身を壊しません。
手順1:セルに出ている詳細メッセージを正確に読む
#REF! が出ているセルをクリックし、表示される詳細メッセージの全文を読みます。判定はここでほぼ付きます。
- エラーになっているセルを1回クリックし、吹き出しに出る文章を最後まで読む。
- 「共有とインポートの上限容量」という語が入っているかを確認する。
- 入っていなければ、下の表で該当する文言を探す。原因も対処も別になります。
- 入っていれば、次の手順2に進む。
セルに出ている文言 | 実際に当たっている上限 | やること |
|---|---|---|
参照元のスプレッドシートが共有とインポートの上限容量に達しています | 参照元シートの共有の制限(600 ユーザー) | 共有相手を外して枠を空ける(原因1〜3) |
リクエスト数が多いためデータの読み込みに時間がかかる可能性があります | IMPORT 関数のトラフィック量(作成者単位) | IMPORT 関数の本数と更新の頻度を減らす |
結果が大きすぎます/読み込みが終わらない | 1 リクエストあたり 10 MB の読み込み上限 | 範囲を限定する・参照元で集計してから読む |
これらのシートをリンクする必要があります | 上限ではなくアクセス許可 | 「アクセスを許可」を押す |
変更内容を同期できません | 保存側の問題(権限・1,000 万セルなど) | 読み込みではなく保存側を見る |
手順2:参照元シートの共有相手を数える
参照元シートを開き、右上の「共有」をクリックして、アクセス権を持つ相手の一覧を出します。ここに並んでいる人数が、そのまま枠の消費量に近い数字になります。
- 参照元シートを開き、「共有」をクリックする。
- 個人・グループ・ドメイン全体の指定が何件あるかを数える。
- あわせて、そのシートを IMPORTRANGE で読んでいるシートが何枚あるかを洗い出す。
- 両方を足した数が 600 に近いかどうかを見る。
ここで正直にお伝えしておくと、いま何件使っているかをGoogleが画面に数値で出してくれることはありません。公表されているのは「共有の制限(600 ユーザー)」という数だけで、IMPORTRANGE による許可が一覧のどこに現れるかも明示されていません(Google ドライブにおける共有ドライブの制限では、1 つの共有ドライブあたりのメンバー合計数として 600 という数が示されています)。そのため、実務では「共有リストを数えて減らす」という手当てになります。
手順3:参照元が誰のものかを確認する
参照元シートのオーナーが自分でない場合、共有設定を触れるのはオーナーと編集権限のあるユーザーだけです。自分に権限がなければ、この記事の対処は自分では完了できません。先にオーナーを確認しておくと、無駄な試行を省けます。
原因別の対処:枠を空ける3つの入口
枠が埋まる経路は3つあります。どれも「知らないうちに増えていた」という形で起こるので、心当たりのあるところから順に当たってください。
原因1:参照元シートを人に共有しすぎている
いちばん多いのがこれです。全社の台帳や商品マスタのように「みんなが見るシート」を参照元にしていると、通常の共有と IMPORTRANGE の許可が同じ枠を取り合います。公式ヘルプも、読み込み先に許可したアクセス権はソースシートの共有の制限にカウントされる、と明示しています。
- 参照元シートを開き、「共有」をクリックする。
- すでに使っていない相手(退職者、終わったプロジェクトのメンバー)の名前の右にある下矢印から「アクセス権を削除」を選び、「保存」を押す(共有を停止、制限、変更する)。
- 個人を1件ずつ入れている相手が多い場合は、Google グループにまとめて1件に置き換える。
- 不要な「一般的なアクセス」の設定が残っていれば、「制限付き」に変更する。
人ではなく組織で共有していた場合、削除の影響範囲が広くなります。落とす相手が本当に使っていないかを先に確認してから外してください。
原因2:その参照元を読んでいるシートが増え続けている
参照元1枚を、部署ごと・担当者ごとの集計シートから直接読んでいる構成は、読み込み先が増えるたびに枠を1つ消費します。Google 公式のベスト プラクティスも、読み込み先シートの数を制限することを最初に挙げています。
- 参照元を読んでいるシートを全部リストにする(社内に何枚あるか把握できていないことが多いので、まずここから)。
- 使われていないシートを特定し、その IMPORTRANGE の数式を削除する。
- 数式を消したうえで、参照元の共有設定からそのシートの許可を外す。
- 残す分は、後述するハブ型(中継シート1枚)にまとめる。
重要な点として、一度与えた許可は、参照元の共有設定から外されるまで有効なまま残ります。読み込み先シートをゴミ箱に入れただけでは枠は戻らない、と考えて動くのが安全です。
原因3:シートの複製で許可が積み上がっている
「先月分のシートをコピーして今月分を作る」という運用をしていると、コピーのたびに IMPORTRANGE ごと複製され、そのつど新しい読み込み先として許可が増えます。月次・案件別にファイルを増やしている職場では、これが静かに枠を食います。
- 過去分のファイルを開き、もう更新が要らない IMPORTRANGE を選択する。
- そのセルをコピーし、「特殊貼り付け」→「値のみ貼り付け」で数式を値に固定する。
- 数式が無くなったことを確認してから、参照元の共有設定で該当分の許可を外す。
- 今後の複製用テンプレートからは、IMPORTRANGE を外しておく。
過去分を値に固定しておくのは、枠を空ける以外にも効きます。参照元に触るたびに古いファイルが再読み込みを始める、という無駄な負荷も同時に消えます。
空けた枠を数式に反映させる
共有相手を外しても、エラー表示がすぐ消えないことがあります。IMPORTRANGE の更新には決まったタイミングがあり、ドキュメントを開いている間は1時間ごとに更新を確認し、ドキュメントを初めて開いたとき、または5分以内に開いたときに再読み込みが走ります。
- エラーになっているセルを選び、いったん数式を削除する。
- 同じ数式をもう一度入力し直す(同じ数式でセルを上書きすると再読み込みがトリガーされます)。
- それでも変わらなければ、参照元と読み込み先の両方を閉じ、数分おいてから開き直す。
- 「アクセスを許可」のボタンが出たら押す。
再発させない運用:読み込み先を増やさない形にする
枠を空けても、構成が「参照元1枚を全員が直接読む」ままなら、数か月後に同じ場所で止まります。公式ヘルプも、可能な場合は同じシート上のデータを参照するほうが IMPORT 関数より効率がよいとしています(データの参照を最適化してスプレッドシートのパフォーマンスを上げる)。現実的な打ち手は次の3つです。
- ハブ型にする:参照元を直接読むのは中継シート1枚だけにし、各担当はその中継シートのタブを参照する。読み込み先が1件に減ります。
- 参照元側で集計してから読む:100 万行をそのまま転送して手元で合計するより、参照元で合計を出して1つの値だけ読むほうが速い、というのが公式のベスト プラクティスです。
- チェーンと循環参照を作らない:シート B が A を読み、C が B を読む形は更新が遅れます。A と B が互いに参照する循環は、データが出なくなります。
構成 | 共有枠の消費 | 更新の速さ | 上限に当たるか |
|---|---|---|---|
参照元を全員が直接 IMPORTRANGE | 読む人・シートの数だけ増える | 遅い(1時間ごとの確認) | 当たりやすい |
中継シート1枚を挟むハブ型 | 1件で済む | チェーン1段分の遅れ | 当たりにくい |
参照元で集計し値だけ読む | 1件で済む | 速い | 当たりにくい |
入力と蓄積を分けた仕組みにする | 共有枠を使わない | 即時 | 構造上当たらない |
表の一番下の行は、スプレッドシートの外に出る選択肢です。Mihata では、いま使っているスプレッドシートをそのまま土台に、入力する場所とデータを貯める場所を分けて社内アプリのように使う形のご支援もしております。共有枠の数え直しが毎月発生しているようでしたら、考え方だけでも参考になれば幸いです。
同じ IMPORTRANGE でも、上限ではなく「読み込んでいます」のまま終わらない・#REF! でアクセス許可を求められる症状は原因が別です。そちらはIMPORTRANGEが読み込み中のまま終わらない時の対処にまとめています。読み込みではなく保存側でエラーが出ている場合は、「変更内容を同期できません」と出たときの切り分け手順を先に読んでください。
それでも直らない時の見極め
共有相手を整理しても直らない、あるいは整理そのものが現実的でないときは、次のどれかに当てはまっていないか確認してください。当てはまる場合、数式の書き方では解決しません。
- 参照元で「ダウンロード、印刷、コピーのオプションを無効にする」がオンになっている。この設定を入れると、新しい IMPORTRANGE でデータを書き出すことはできません(設定より前に作った数式は動き続けるため、「一部だけ動く」という分かりにくい状態になります)。
- 参照元シートが 1,000 万セルまたは 18,278 列(列 ZZZ)の上限に近い。これは共有枠とは別系統の上限ですが、同時に詰まっていると症状が混ざります(Google ドライブに保管可能なファイル)。
- 誰が何を読んでいるか、社内で誰も把握していない。この状態だと、外して良い許可を判定できません。整理しても数か月で元に戻ります。
- 参照元が実質的なデータベースになっている。全社が1枚のシートを読む構成は、共有枠と読み込み上限の両方に毎回当たります。
正直に申し上げると、仕組みを変えるには手間がかかります。ただ、共有リストの棚卸しと数式の貼り直しに毎月時間を取られているなら、参照する経路を1本に整えるだけでも効果は出ます。どこから手を付けるべきかの整理からでもお手伝いできます。
共有枠の整理の前に、そもそもスプレッドシート1枚で抱えきれる範囲を超えていないかを見ておくと判断が早くなります。切り替えの目安はスプレッドシート管理の限界とアプリ化を判断する基準に整理しました。
よくある質問
参照元のセルや行を削除すれば、このエラーは直りますか?
直りません。このエラーはセル数やファイルサイズの上限ではなく、参照元シートの共有枠を使い切ったことを示しています。対処は参照元の共有設定から不要な相手や読み込み先の許可を外して枠を空けることです。1,000万セルなどの上限は別系統なので、混同しないようにしてください。
読み込み先のシートをゴミ箱に入れれば枠は戻りますか?
戻ると考えないほうが安全です。公式ヘルプでは、IMPORTRANGEで与えたアクセス権は、許可した相手が参照元の共有から削除されるまで有効とされています。読み込み先の数式を消したうえで、参照元シートの共有設定から該当の許可を外してください。
いま共有枠をどれだけ使っているか、画面で確認できますか?
数値としては確認できません。Googleが公表しているのは共有の制限が600ユーザーであることだけで、使用量のカウンターは表示されません。実務では参照元シートの共有リストに並ぶ相手の件数と、その参照元をIMPORTRANGEで読んでいるシートの枚数を自分で数えて判断します。
共有相手を外したのにエラー表示が消えません。
IMPORTRANGEの更新タイミングの問題である可能性があります。ドキュメントを開いている間の更新確認は1時間ごとで、再読み込みは初めて開いたときか5分以内に開いたときに走ります。エラーのセルの数式をいったん削除し、同じ数式を入力し直すと再読み込みがトリガーされます。
読み込み先を増やさずに全社へ数字を配る方法はありますか?
中継シートを1枚だけ挟むハブ型にするのが現実的です。参照元を直接読むのはその1枚だけにして、各担当は中継シートのタブを参照します。あわせて、参照元側で集計してから値だけを読むようにすると、読み込むデータ量も小さくなります。