「クルクル回って動かない…」スプレッドシートのフリーズ・遅さを解消する即効軽量化ワザ

スプレッドシートのフリーズ・遅さを解消する即効軽量化ワザ Googleスプレッドシート
記事内に広告が含まれています。
スポンサーリンク

「データが増えてきて、スプレッドシートを開くのに何秒も待たされる……」

「文字を1文字打つたびに画面が固まって『処理中』のクルクルが出る……」

チームで共有しているシートや、長く使っている管理表が重くなると、日々の業務ストレスが一気に跳ね上がりますよね。

スプレッドシートが重くなる原因の多くは、PCのスペックではなく「シート内に溜まった無駄なデータ」や「負荷のかかる関数の使い方」にあります。つまり、正しく対策すれば、誰でもその場で動作をサクサク軽くすることができます!

本記事では、専門知識がなくても1分で実践できる即効性の高い軽量化テクニックを厳選してご紹介します。固まるストレスから解放されて、爆速で業務を終わらせましょう!

スポンサーリンク
  1. なぜ重くなる?スプレッドシートが遅い主な原因
    1. 原因1:不要な空白セル・空行の放置
    2. 原因2:IMPORTRANGE / TODAYなどの多用
      1. A列 & I列の =TODAY() の多用
      2. C列の1行ごとの =IMPORTRANGE()
      3. D列の列全体(A:B)を指定した VLOOKUP
    3. 原因3:過度な条件付き書式や入力規則
      1. 条件付き書式:「列全体」や「シート全体」にルールを設定している
      2. 入力規則(プルダウン):数千行に個別設定している
  2. 【即効性★5】今すぐできる一番効果的な軽量化テクニック
    1. ① 未使用の「空行・空列」をすべて削除する(セル数の削減)
      1. 【手順1】使っていない空行を一括削除する
      2. 【手順2】使っていない空列を一括削除する
    2. ② 値だけが必要な計算式を「値貼り付け(テキスト化)」にする
      1. 【手順】数式を「値のみ」に置き換える
  3. 【設定見直し】関数と書式を最適化してサクサク動かす方法
    1. IMPORTRANGEやVLOOKUPの範囲を絞り込む
      1. 【改善手順】範囲を「実際にデータが存在する(使う)行数」に絞る
    2. 増えすぎた「条件付き書式」を整理・削除する
      1. 【手順】不要な条件付き書式のお掃除
    3. 不要な「シート保護」や「フィルタビュー」を解除する
      1. ■ 対策:不要な保護ルールを解除する
      2. ■ 対策:不要なフィルタビューの削除手順
  4. 【裏技】それでも重い場合の最終手段
    1. 最終手段1:ファイルを新規作成して「データのみ」移行する(超おすすめ)
      1. 【手順】新ファイルへのデータ引っ越し
    2. 最終手段2:ブラウザ(Google Chrome)側のキャッシュ・メモリを解放する
      1. 【手順①】Chromeのメモリセーバー機能を有効にする
      2. 【手順②】ハードウェアアクセラレーションをオンにする
    3. 最終手段3:シートを機能ごとに「ファイル分割」する
      1. 【おすすめの設計見直し】
  5. まとめ
    1. 💡 スプレッドシート軽量化の最終チェックリスト

なぜ重くなる?スプレッドシートが遅い主な原因

Googleスプレッドシートはブラウザ上で動作するクラウドツールのため、ファイル内のデータ構造や関数の使い方によって動作速度が大きく左右されます。

「入力が遅い」「開くときにクルクル回って固まる」といった現象が起きる主な原因は、以下の3つです。

原因1:不要な空白セル・空行の放置

スプレッドシートは、「文字や数字が入っていない空のセル」であってもメモリを消費する仕組みになっています。

新規でシートを作成すると、初期状態で1,000行×26列(A〜Z列)=26,000個のセルが存在します。さらに、使っていない余分な空行や空列を何千行も残したまま放置していると、ファイル全体で数十万個もの無駄なセルを常に読み込むことになり、動作が著しく重くなります。

つまり不要な行や列を削除してしまえば、動作が著しく改善します。

サンプルシート画像

上記のような表の場合、日付によって行は増えていきますが、とりあえず不要な行をすべて削除してしまいましょう。

まずは20行目を選択します。

1000行目まで選択した画像

キーボードの `Ctrl + Shift + 下矢印`(Macは `Cmd + Shift + 下矢印`)を押して、シートの一番下までの行をすべて選択します。

20行目から1000行目まで選択された状態になっています。

メニューから選択された範囲を削除する画面

選択された行の上で右クリックし、「行 20〜1000 を削除」 をクリックします。

不要な行が削除された画面

20行目から1000行目までが削除されました。

追加の行が必要な場合は、画面下部にある「一番下に○○行追加」と書かれている部分に必要な行を入力して「追加」をクリックしてください。

列(右側)についても同様に、使っていない右側の列(Z列以降など)を選択して削除します。

原因2:IMPORTRANGE / TODAYなどの多用

数式の中でも、「ファイルを開くたび」「セルを編集するたび」に毎回再計算を行う関数(揮発性関数や外部参照関数)を多用すると、処理に大きな負荷がかかります。

  • IMPORTRANGE 関数: 別のスプレッドシートからリアルタイムでデータを取得するため、通信処理が発生して非常に重くなります。
  • TODAY / NOW 関数: 日時を自動更新するため、シート内で何か1文字打つだけでもシート全体が再計算されます。
  • INDIRECT / OFFSET 関数: セル参照を動的に計算するため、データ量が増えると計算が追いつかなくなります。

これらの関数がシート内に数百〜数千個配置されていると、文字を入力するたびに画面がフリーズする原因になります。

A列 & I列の =TODAY() の多用

=TODAY() の多用を注意する画面
  • 解説: この表ではA列の全行に =TODAY() が入っています。またI列にも経過日数を計算する数式「=DATEDIF(DATE(2026,10,1), TODAY(), "D")」が全行に入っています。これだと文字入力のたびに全行で再計算が実行されます。
  • 改善策: Z1 セルなどに1つだけ =TODAY() を書き、各行からはそのセルを参照する(あるいは固定日付にする)。例えば、その他の行(A2やA3など)には直接 =TODAY() を書かず、=$Z$1(Z1セルを見てね) というシンプルな参照だけを書くようにします。

C列の1行ごとの =IMPORTRANGE()

=IMPORTRANGE()の多用を注意する画面
  • 解説: C列には「=IMPORTRANGE(“https://…”, “顧客!A2”)」のような仮の参照場所を指定しています。この状態だと、1行ずつ別ファイルを通信・参照しているため、極めて動作が重くなります。
  • 改善策: 別途「参照用シート」を1枚作り、そこに IMPORTRANGE で一括読み込みした上で VLOOKUP 等で引っ張ることで改善することが出来ます。

D列の列全体(A:B)を指定した VLOOKUP

 VLOOKUPの範囲指定の間違いを指摘する画面
  • 解説: D列には「=VLOOKUP(E2, ‘マスタ’!A:B, 2, FALSE)」と仮の数式を指定しています。範囲を列全体(A:B)を指定してしまうと、データが入っていない下の空白セル(初期の1,000行や、自動拡張された空行)までスプレッドシートがすべて計算しに行ってしまい、動作が重くなります。
  • 改善策: A1:B100 のように範囲を絞り込む。

原因3:過度な条件付き書式や入力規則

条件付き書式:「列全体」や「シート全体」にルールを設定している

条件付き書式の設定画面

なぜ重くなるのか

「売上金額が10,000円以上なら緑にする」という条件をつける際、範囲を H2:H10 ではなく H:H(H列全体) や シート全体 で指定してしまうケースです。これでは、データが入っていない下の空白行や全セルを常に監視・再計算し続けるため、画面のスクロールや入力がカクつく原因になります。

条件付き書式の設定画面

解決策(軽量化のコツ)

条件付き書式の適用範囲は、H2:H19 のように実際にデータが入っている(または入る予定の)必要最小限の範囲に絞りましょう。また、使わなくなった古いルールは「削除」して整理することも重要です。

入力規則(プルダウン):数千行に個別設定している

プルダウンリストの設定画面

なぜ重くなるのか

「担当者名」などのプルダウンを設置する際、セルを1つずつコピーしたり、列全体(B:B)に対して設定したりすると、データが入っていない空白のセルに至るまですべてに入力規則のデータが保持されます。これがファイル容量(メモリ)をじわじわと肥大化させ、シート全体の動作を重くする原因になります。

プルダウンリストの設定画面

軽量化するための解決策

プルダウンの適用範囲は、列全体ではなく B2:B19 のように実際にデータがある範囲(または入力する予定の必要最小限の範囲) にピタッと絞りましょう。

【不要な入力規則を整理する手順】

  1. プルダウンを設定しているセル(またはシート全体)を選択します。
  2. 上部メニューの 「データ」>「データの入力規則」 をクリックします。
  3. 画面右側に設定ルールの一覧(または該当セルのルール)が表示されます。
  4. 範囲が「B:B」など広すぎになっている場合は、B2:B100 のように修正するか、不要なルールは「規則を削除」をクリックしてスッキリ綺麗に整えましょう。
スポンサーリンク

【即効性★5】今すぐできる一番効果的な軽量化テクニック

スプレッドシートが重いと感じたとき、真っ先に試してほしいのがこの2つのテクニックです。数分作業するだけで、ファイルの読み込み速度や入力のサクサク感が劇的に改善します。

① 未使用の「空行・空列」をすべて削除する(セル数の削減)

スプレッドシートは、文字が入っていなくても「存在するセルの数」だけでメモリを消費します。データ領域の下や右側に残っている大量の「真っ白な空白セル」を一括削除するのが、最も効果的な軽量化です。

「原因1」でご紹介した空行・空列の削除手順は以下の通りです。

【手順1】使っていない空行を一括削除する

  1. データが入っている最後の行の「すぐ下の行番号(例: 21行目)」をクリックします。
  2. キーボードの Ctrl + Shift + 下矢印(Macは Cmd + Shift + 下矢印)を押します。
    • ※これでシートの一番下までの空行(1,000行目など)が一括で全選択されます。
  3. 選択された行番号の上で右クリックし、「行 21〜1000 を削除」 をクリックします。

【手順2】使っていない空列を一括削除する

  1. データが入っている一番右の列の「すぐ右の列番号(例: J列)」をクリックします。
  2. キーボードの Ctrl + Shift + 右矢印(Macは Cmd + Shift + 右矢印)を押します。
    • ※これでZ列まで(または末尾まで)の空列が一括選択されます。
  3. 選択された列番号の上で右クリックし、「列 J〜Z を削除」 をクリックします。

💡 これだけで劇的に軽くなる理由

初期状態の1,000行×26列(26,000セル)から、実際のデータ範囲(20行×9列=180セル)だけに絞ることで、スプレッドシートが処理すべきセル数が100分の1以下になります。

② 値だけが必要な計算式を「値貼り付け(テキスト化)」にする

過去の売上データや確定した集計結果など、「もう計算結果が変わる予定がないデータ」に数式を残したままにするのは非常に危険です。裏で再計算が走り続ける原因になります。

計算結果を「ただの数値・テキスト(固定データ)」に変換して、数式を削除しましょう。

【手順】数式を「値のみ」に置き換える

数式のあるセルを選択する画面
  1. 数式が入っている範囲(例: 売上金額の列など)をドラッグして選択します。ここではセルH2を選択します。数式として「=F2*G2」が入力されています。
  1. Ctrl + C(Macは Cmd + C)を押してコピーします。ここではセルH2をコピーします。
数式のあるセルを数値に換える画面
  1. そのまま同じ範囲が選択された状態で、ショートカットキー Ctrl + Shift + V(Macは Cmd + Shift + V)を押します。H2のセルは「50000」という数値に置き換わっています。
    • ※マウス操作で行う場合は、右クリック > 「特殊貼り付け」>「値のみ貼り付け」 を選択します。

🌟 ショートカット「Ctrl + Shift + V」は必須テクニック!

見た目や書式(色・罫線)はそのまま保持され、中の数式だけが「計算済みの確定値」に化けます。数式が消えるため、裏での再計算処理がゼロになります。

【設定見直し】関数と書式を最適化してサクサク動かす方法

データが増えるにつれてスプレッドシートが徐々に重くなっていく場合、原因の多くは「数式の範囲指定」や「裏で動いている書式ルール」にあります。

設定を少し工夫・整理するだけで、画面のスクロールや入力のレスポンスが劇的に改善します。

IMPORTRANGEやVLOOKUPの範囲を絞り込む

関数を使う際、対象範囲を A:B や A:Z のように「列全体」で指定していませんか?

列全体を指定すると、スプレッドシートはデータが入っていない下の空白セル(初期の1,000行や自動拡張された大量の空行)まで毎回すべて計算・検索しに行ってしまいます。

【改善手順】範囲を「実際にデータが存在する(使う)行数」に絞る

  • VLOOKUP の場合
    • ❌ 重い書き方:=VLOOKUP(E2, A:B, 2, FALSE)
    • ⭕ 軽い書き方:=VLOOKUP(E2, A$1:B$100, 2, FALSE)
    • ※範囲行に $ を付けて絶対参照にしておけば、数式を下にコピーしても範囲がズレません。
  • IMPORTRANGE の場合
    • ❌ 重い書き方:=IMPORTRANGE("URL", "売上データ!A:Z")
    • ⭕ 軽い書き方:=IMPORTRANGE("URL", "売上データ!A1:Z500")
    • ※さらに、別ファイルから取得する IMPORTRANGE はシート内で何十個も書かず、専用の「インポート用シート」を1枚用意して1箇所で一括読み込みし、各セルからはそのシートを VLOOKUP や XLOOKUP で参照するのが最もスマートで軽い設計です。

増えすぎた「条件付き書式」を整理・削除する

条件付き書式(セルの色付けルール)は、セルに値を入力したりスクロールしたりするたびに再計算が実行されるため、非常にメモリを消費します。

特に、シートのコピー&ペーストを繰り返すと、同じようなルールが裏で何十個も重複して増殖しているケースが多発します。

【手順】不要な条件付き書式のお掃除

  1. 上部メニューの 「表示形式」>「条件付き書式」 をクリックします。
  2. 画面右側にルールの一覧が表示されるので、以下のポイントをチェックします。
    • 重複したルールや使っていないルール: 右側のゴミ箱アイコンを押して削除します。
    • 適用範囲が A1:Z1000 や H:H になっている: 編集して H2:H100 のように必要最小限の範囲へ変更します。

不要な「シート保護」や「フィルタビュー」を解除する

あまり知られていませんが、「セルやシートの保護」や「保存されたフィルタビュー」の過剰な設定も動作を重くする隠れた原因になります。

シートと範囲を保護: 数百箇所のセルに細かく保護権限が設定されていると、スプレッドシートは「このユーザーに編集権限があるか」を毎回判定するため処理が遅くなります。

■ 対策:不要な保護ルールを解除する

シートと範囲を保護の選択画面

上部メニューの 「データ」>「シートと範囲を保護」 をクリックします。

保護されているシートと範囲の設定画面

画面右側に保護ルールの一覧が表示されます。

「昔テストで作ったルール」や「もう使っていない範囲指定」があれば、該当項目をクリックしてゴミ箱アイコン(削除)を押し、スッキリ整理しましょう。

■ 対策:不要なフィルタビューの削除手順

不要なフィルタビューの削除手順

対策: 画面上部のツールバーにある 「フィルタ(漏斗/じょうごの形をしたアイコン)」のすぐ右隣にある「▼(小さい下矢印)」 をクリックします。

フィルタービューの削除画面

使わなくなった過去のフィルタビューを削除・整理します。画面右側上部にある3点リーダーをクリックし「ビューを削除」をクリックします。

【裏技】それでも重い場合の最終手段

最終手段1:ファイルを新規作成して「データのみ」移行する(超おすすめ)

長年使っているファイルや、大人数で編集を重ねたファイルには、画面には見えない「過去の編集履歴(バージョン履歴)」や「破損したメタデータ」「不要な隠れ書式」がゴミとして蓄積されています。

どんなにお掃除しても重さが改善しない場合は、真っ新な新ファイルを作って「データ(値)」だけを引っ越すのが最も確実で効果的な裏技です。

【手順】新ファイルへのデータ引っ越し

  1. 新しいGoogleスプレッドシートを1冊作成します。
  2. 重い旧ファイルのデータ(値)をコピー(Ctrl + C)します。
  3. 新ファイルを開き、「値のみ貼り付け(Ctrl + Shift + V)」 でデータを貼り付けます。
  4. 必要な数式(最適化済みのもの)や、最低限の見た目(罫線やフォント)だけを整えます。

🌟 効果とメリット

過去の編集履歴や内部の「隠れゴミデータ」がすべてリセットされるため、初期状態のサクサク感が100%復活します。

最終手段2:ブラウザ(Google Chrome)側のキャッシュ・メモリを解放する

スプレッドシート側ではなく、操作しているパソコンやブラウザ(Google Chrome)側のメモリ不足が原因で画面が固まっているケースも非常に多いです。

【手順①】Chromeのメモリセーバー機能を有効にする

  1. Google Chromeの右上にある 「3つの点(メニュー)」>「設定」 を開きます。
  2. 左メニューの 「パフォーマンス」 を選択します。
  3. 「メモリセーバー」 をオンにします。
    • ※使っていないタブのメモリが自動解放され、スプレッドシートの処理能力がアップします。

【手順②】ハードウェアアクセラレーションをオンにする

  1. Chromeの 「設定」>「システム」 を開きます。
  2. 「グラフィック アクセラレーションが使用可能な場合は使用する」 をオンにしてブラウザを再起動します。
    • ※パソコンのGPU(画像処理パーツ)を使って描画を行うため、スプレッドシートのスクロールや表示が大幅に滑らかになります。

最終手段3:シートを機能ごとに「ファイル分割」する

1つのスプレッドシートの中に「2024年」「2025年」「2026年」「マスタ」など何十枚もタブ(シート)がぶら下がっていると、開くだけで膨大な読み込みが発生します。

【おすすめの設計見直し】

  • 過去ログ(確定データ)は別ファイルへ移動・孤立化させる。
  • 現在作業中の「2026年用ファイル」だけを単体で独立させる。
  • どうしてもマスタデータなどを参照したい場合のみ、最小限の範囲で IMPORTRANGE や参照を行う。
最終手段こんな時におすすめ難易度効果
データのみ新ファイルへ移植数年使い続けていて何をやっても重い時★☆☆(簡単)劇的(100%復活)
Chromeの設定見直しパソコン全体の動作がカクつく・重い時★☆☆(簡単)即効性あり
ファイルの年別分割タブ(シート)の数が何十枚もある時★★☆(中級)根本解決

スポンサーリンク

まとめ

お疲れ様でした!

スプレッドシートの軽量化で最も大切なのは、「スプレッドシートに無駄な計算や処理をさせないこと」です。

今回ご紹介したテクニックを振り返り、ぜひご自身のシートでもチェックしてみてください。

💡 スプレッドシート軽量化の最終チェックリスト

  • [ ] 【即効★5】 データ領域以外の「不要な空行・空列」を全削除したか?
  • [ ] 【即効★5】 確定した過去データは「値貼り付け(Ctrl + Shift + V)」で数式を消したか?
  • [ ] 【設定★4】 VLOOKUP や IMPORTRANGE の範囲を「列全体(A:B)」ではなく必要な行数に絞ったか?
  • [ ] 【設定★4】 不要・重複した「条件付き書式」や広すぎる適用範囲を整理したか?
  • [ ] 【設定★3】 使っていない「シートの保護ルール」や「過去のフィルタビュー」を削除したか?
  • [ ] 【裏技】 それでも重い場合は「新ファイルへデータ(値のみ)を移植」してみたか?

特に「余分な空行・空列の削除」と「不要になった数式の値貼り付け化」を実行するだけでも、驚くほど動作がサクサクになったのを実感していただけたのではないでしょうか。

シートが快適に動くようになれば、毎日の入力ストレスが減るだけでなく、チーム全体の作業効率も大幅にアップします。定期的にシートの「ダイエット(整理整頓)」を行って、ストレスフリーな作業環境をキープしていきましょう!

コメント