エクセルの自動計算は便利な反面、データが重くなるとフリーズの原因にもなりますよね。ここでは、エクセルで自動計算をオフにする方法や、なぜか勝手にオフになってしまう原因、そしてマクロやMacでの設定手順、便利なショートカットまで、基本となる設定や仕組みを詳しく解説していきます。

エクセル自動計算オフの切り替え手順
エクセルでデータを入力するたびに画面が固まってしまい、イライラした経験はありませんか?それはおそらく、エクセルの「自動計算」機能が裏で一生懸命働いているからです。
エクセルは初期設定で、一つのセルを変更すると関連するすべての数式を瞬時に再計算するようになっています。普段はとても便利な機能ですが、関数を多用した重いファイルだと、この再計算が完了するまで待たされてしまいます。そこで役立つのが、この自動計算機能を一時的にオフ(手動)にする設定です。
設定の切り替えはとても簡単です。画面上部にある「数式」タブを開き、右側の方にある「計算方法の設定」をクリックします。するとドロップダウンメニューが表示されるので、その中から「手動」を選択するだけです。
- 「数式」タブ > 「計算方法の設定」 > 「手動」を選択
- これで入力ごとの重い処理から解放されます!
また、「ファイル」タブの「オプション」から「数式」を選び、そこで「手動」を選択することも可能です。オプション画面だと「ブックの保存前に再計算を行う」という便利なチェック項目があるので、保存する時に計算忘れを防ぎたい場合はこちらがおすすめです。
勝手に自動計算オフになる原因
「設定を変更した覚えはないのに、なぜか勝手に自動計算がオフになってしまった…」というトラブル、実はエクセルあるあるなんです。私自身も「あれ?数式の結果が変わらないぞ?」と焦ったことが何度もあります。
この現象、実はエクセルの内部的な仕様(マイクロソフトが定めたルール)が原因で起こります。エクセルには「最初に開いたファイルの設定に引っ張られる」という特徴があるんです。
例えば、過去に重い作業をするために「手動計算」にして保存したファイル(ファイルA)があったとします。エクセルを立ち上げて、最初にこのファイルAを開きます。その後、本来自動計算になっているはずの別のファイル(ファイルB)を開くと、なんと後から開いたファイルBも「手動計算」として扱われてしまうのです。
注意したい連鎖の罠
手動計算に引っ張られた状態のままファイルBを上書き保存すると、次からはファイルB自体が「手動計算のファイル」として保存されてしまいます。これが「勝手に変わった」と感じる一番の原因です。
これを防ぐには、他人からもらったファイルなどを開く前に、まず新規の空のエクセルファイル(確実に自動計算になっているもの)を開き、その後に目的のファイルを開くという運用上の工夫が必要になってきます。
マクロでエクセル自動計算オフにする
エクセルの作業を自動化してくれるVBA(マクロ)ですが、作ったマクロを実行したら数十分もかかってしまった、という経験はないでしょうか。コードは合っているのになぜ?と思うかもしれませんが、これも「自動計算」が足を引っ張っているケースがほとんどです。
マクロがセルにデータを一つ書き込むたびに、エクセルは律儀に「再計算しなきゃ!」とブック全体を見直してしまいます。これを防ぐためには、マクロの処理が始まる前に自動計算をオフにし、処理が終わったらオンに戻す、というコードを組み込むのがVBAの定石です。
具体的には、マクロの冒頭に以下のコードを記述します。
Application.Calculation = xlCalculationManual
これで処理中は自動計算がストップします。そして、処理が終わる直前に以下のコードで元に戻します。
Application.Calculation = xlCalculationAutomatic
これだけで、マクロの実行速度が劇的に改善されるはずです。さらに高速化したい場合は、画面の描画を止める(Application.ScreenUpdating = False)なども組み合わせてみてください。
Mac版でエクセル自動計算オフにする設定
Mac版のエクセルを使っている場合も、自動計算をオフにする基本的な考え方はWindows版と同じですが、設定画面へのアクセス方法が少し異なります。
リボンメニューの「数式」タブから「計算方法の設定」を選んで「手動」にする方法はWindowsと同じように使えます。もう一つ、Mac特有のメニューバーから設定する方法も覚えておくと便利です。
画面の一番上にあるメニューバーの「Excel」をクリックし、「環境設定(Preferences)」を開きます。その中にある「数式とリスト」セクションの「計算」オプションを選択すると、計算方法を選ぶことができます。
Mac特有のトラブル
Mac版でよくあるのが、「オートフィル(右下の■を引っ張ってコピーする機能)を使ったのに、数式が計算されず同じ数字がコピーされてしまう」というトラブルです。これも大半は計算モードが「手動」になっていることが原因なので、環境設定から「自動」に戻せば解決しますよ。
エクセル自動計算オフ時のショートカット
自動計算をオフ(手動)に設定している間は、自分でエクセルに「今、計算して!」と指示を出さない限り、数値は更新されません。マウスでいちいちボタンをクリックするのは面倒なので、ショートカットキーを活用するのが絶対におすすめです。
覚えておくべきショートカットは主に以下の2つです。
- F9キー:今開いているすべてのファイル(ブック)を再計算します。一番よく使う標準的なショートカットですね。
- Shift + F9キー:今見ている「このシートだけ」を再計算します。他の重いシートの計算を避けたい時にとても重宝します。
ちなみに、手動計算モードの時にどこかのセルを変更すると、画面の左下に小さく「再計算」という文字が表示されます。これはエクセルからの「まだ計算していないデータがありますよ」というサインなので、この表示が出たらF9を押す癖をつけておくと良いかもしれません。
エクセル自動計算オフの活用とトラブル解決

ここからは、エクセルの自動計算オフ設定をさらに使いこなすための応用テクニックや、ありがちなトラブルの解決法について深掘りしていきます。特定のシートだけをコントロールする方法や、Googleスプレッドシートとの違いなども見ていきましょう。
特定のシートだけ自動計算オフにする方法
「この重いマスターシートだけ計算を止めて、他の入力シートは自動計算のままサクサク動かしたい」という状況、実務ではよくありますよね。しかし残念ながら、エクセルの標準機能には「特定のシートだけを手動計算にする」というボタンは用意されていません。
ですが、VBA(マクロ)を使えばこの局所的なコントロールが可能になります。具体的には、シートのプロパティである「EnableCalculation」を操作します。
VBE(マクロの編集画面)を開き、計算を止めたいシートのプロパティウィンドウを表示します。その中にある「EnableCalculation」の値を「True」から「False」に変更してみてください。これだけで、そのシート内の数式は完全にフリーズし、F9キーを押しても計算されなくなります。
ピンポイントでの再計算テクニック
ファイル全体を手動計算にしている時に、「今入力したこのセルだけ計算結果を知りたい」という時は、そのセルを選択して「F2キーを押してEnter」(またはCtrl+Enter)を押してみてください。そのセルだけが強制的に再計算されるので、全体の計算を待つ必要がなくなりますよ。
エクセル自動計算オフでフリーズを回避
エクセルが「応答なし」になってフリーズしてしまう一番の原因は、やはり複雑な数式の連鎖的な再計算です。特に気をつけたいのが、INDIRECT、OFFSET、TODAYといった「揮発性関数」と呼ばれるものです。
これらの関数は、自分自身に関係ないセルが変更されただけでも、毎回律儀に再計算をしてしまう厄介な性質を持っています。これらを多用したシートは常に重い状態になりがちです。
フリーズを回避するためには、作業中は思い切って自動計算をオフ(手動)に切り替えるのが一番の防衛策です。そして、もし間違って重い再計算を走らせてしまい、エクセルが固まりそうになったら、慌てずに「Escキー(エスケープキー)」を連打してみてください。
Escキーは計算処理を強制的に中断させるコマンドなので、運が良ければエクセルが落ちる前に処理を止めることができます。タスクマネージャーから強制終了して未保存のデータを失う前に、ぜひ試してみてください。
再計算されない時の原因と対策
「自動計算になっているはずなのに、なぜかこのセルだけ計算されない…数式がそのまま文字として表示されている!」というトラブルに遭遇したことはありませんか?
この現象の最も多い原因は、そのセルの表示形式が「文字列」になっていることです。エクセルが数式を「計算する式」ではなく「ただの文字」として認識してしまっている状態ですね。
これを直すには、表示形式を「標準」に戻す必要がありますが、それだけでは直りません。一度そのセルを編集モード(F2キー)にして、再度Enterを押して「確定」させないとエクセルは計算を始めてくれないのです。
一括で直す裏ワザ
大量のセルが文字列になってしまっている場合、一つずつF2→Enterを繰り返すのは地獄です。そんな時は、直したい列を選択して、データタブの「区切り位置」を開き、何も設定せずにそのまま「完了」を押してみてください。これだけで、一列まるごと一瞬で計算可能な状態に再入力されます!
循環参照による計算停止の解決法
一部のセルが全く計算されなくなった場合、もう一つ疑うべき原因が「循環参照」です。これは、数式が自分自身のセルを参照してしまって、永遠に計算が終わらないループに陥っている状態のことです。
循環参照が一つでも発生すると、エクセルはフリーズを防ぐためにその関連する計算をすべてストップさせてしまいます。エラーが出ている時は、画面の左下のステータスバーに「循環参照:C5」のように問題のセルが表示されているはずです。
解決するには、「数式」タブの「エラーチェック」の中にある「循環参照」を確認し、原因となっている数式のループを断ち切る(正しい参照先に直す)必要があります。計算がおかしいなと思ったら、まずはステータスバーをチラッと見てみましょう。
Googleスプレッドシートとの計算仕様比較
エクセルと並んでよく使われるGoogleスプレッドシートですが、エクセルのように「完全に自動計算をオフ(手動)にする」という機能は実はありません。
スプレッドシートは複数人で同時に編集することを前提としたクラウドツールなので、誰かが変更したらすぐに全体に反映(再計算)させる仕組みになっているからです。そのため、重いファイルを手動計算で乗り切る、というエクセル特有の運用はスプレッドシートでは通用しません。
ただし、TODAYやRANDなどの関数がいつ再計算されるかの「頻度」だけは設定で変更できます。「ファイル」>「設定」>「計算」タブから、「変更時および毎分」などを選ぶことができますが、根本的な負荷軽減にはなりません。
スプレッドシートが重すぎて動かない場合は、関数を使うのをやめて「GAS(Google Apps Script)」というプログラムを使って裏側で計算処理をさせるなど、根本的な作り替えが必要になるケースが多いです。
エクセル自動計算オフで業務効率を改善するまとめ
ここまで、エクセルの自動計算に関する設定や裏側の仕組みについて解説してきました。データ量が少ないうちは自動計算のままで全く問題ありませんが、扱うデータが大きくなるにつれて、この機能が原因で動作が遅くなるのは避けられません。
「なんかエクセルが重いな…」と感じたら、まずは「自動計算をオフ(手動)」に切り替えることを思い出してみてください。そして、ショートカットキー(F9など)を使って自分のタイミングで計算させるリズムを身につけると、フリーズのストレスから解放されてサクサクと作業を進められるようになりますよ。
エクセルの自動計算の挙動をしっかり理解してコントロールできれば、日々の業務効率は確実にアップするはずです。この記事が皆さんのエクセル作業を少しでも快適にするヒントになれば嬉しいです!
