何が起きているのか
循環参照とは、数式の結果が直接、またはほかのセルを介して間接的に自分自身に依存している状態です。Excel はこのループを解決できず、0 または最後に計算された値のどちらかを表示します。いずれも正しい値ではありません。
表示される警告メッセージ:
There are one or more circular references where a formula refers to its own cell either directly or indirectly
よくある発生パターンは次のとおりです:
- 数式を参照先のセル自身に直接入力してしまっている — 例:
A1セルの中に=A1+B1を記述する - SUM の範囲が SUM 数式を入れているセル自身を含んでしまっている(よくある例:
B10に=SUM(B1:B10)を配置する) - セル A が B を参照し、B が C を参照し、C が A に戻るというチェーン — 個々の数式はおかしくないが、全体が循環している
- 数式をコピーして貼り付けた先が、その数式自身の参照範囲内に入ってしまっている
手順 1:循環参照のセルを見つける
まず Excel の画面下部にあるステータスバーを確認してください。循環参照が存在する場合、**「循環参照: B10」**のようにセルアドレスが表示されます。これが問題の原因となっているセルです。
表示されない場合は、以下のメニューを使います:
数式 → ワークシート分析 → エラー チェック → 循環参照
ドロップダウンに問題のあるセルがすべて一覧表示されます。クリックするとそのセルに直接ジャンプできます。
監査矢印でループを追跡する
問題のセルに移動したら、参照チェーンを可視化しましょう:
- 数式 → 参照元のトレース — このセルに入力しているすべてのセルに矢印を表示する
- 数式 → 参照先のトレース — このセルを読んでいるすべてのセルに矢印を表示する
青い矢印は正常です。矢印が自分自身の開始セルに戻ってくる場合、それが循環参照のパスです。
手順 2:数式を修正する
ケース 1 — 直接の自己参照
最もよくあるミス:SUM や AVERAGE の範囲に数式セル自身が含まれてしまっているケースです。
❌ セル B10 の内容: =SUM(B1:B10) ← B10 が自分自身の範囲に含まれている
✅ 修正後: =SUM(B1:B9) ← 数式セルを範囲から除外する
ケース 2 — 間接的な循環ループ
追跡が難しいケースです。ループが複数のセルにまたがっているため、個々の数式は一見問題ないように見えます。例:
セル A1: =C1 * 2
セル B1: =A1 + 5
セル C1: =B1 - 3 ← C1 は B1 → A1 → C1 に依存している。完全な循環。
チェーンを断ち切るには、いずれかのセルを固定値の入力値に変換します:
セル A1: =C1 * 2
セル B1: =A1 + 5
セル C1: 10 ← 静的な入力値、数式なし
ケース 3 — 貼り付けによる問題
数式をコピーして貼り付けた先が自身の参照範囲内に入ってしまったケースです。回復する方法は 2 つあります:
❌ =AVERAGE(D1:D20) をセル D15 に貼り付けた場合
✅ 方法 A: 数式を範囲外に移動する — D21 に貼り付け直す
✅ 方法 B: 数式セルをスキップするように範囲を調整する: =AVERAGE(D1:D14,D16:D20)
手順 3(オプション)— 反復計算を有効にする
ほとんどの循環参照は意図しないものです。ただし、一部の数式は意図的に循環させるケースもあります — 以前の自身の結果を参照する複利計算がその典型例です。そのような場合は、反復計算を有効にします:
ファイル → オプション → 数式 → 反復計算を行う
- 最大反復回数:Excel が再計算を実行する回数(デフォルト:100)
- 最大変化量:計算の前後の差がこの値を下回ったら Excel は停止する(デフォルト:0.001)
注意:通常のスプレッドシートでこの設定を有効にすると、バグを隠蔽するだけになります。数式を正しく修正してください — 問題をごまかすのではなく。
修正の確認
- 数式を編集したら Enter キーを押す。
- ステータスバーを確認する — 「循環参照」の表示が消えているはずです。
- 数式 → エラー チェック → 循環参照 を確認する — サブメニューがグレーアウト(空)になっているはずです。
- セルに
0ではなく正しい計算結果が表示されているか確認する。 - F9 キーを押して強制的に全体を再計算し、ほかに問題が起きていないか確認する。
まとめ・教訓
- 列の末尾に置いた SUM や AVERAGE が最も多い原因です — 範囲が数式セルの 1 行上で終わっているか常に確認しましょう。
- Ctrl+`(グレーブアクセント)で数式ビューを切り替えると、複雑なスプレッドシートを作る際に便利です。すべての数式が一覧表示されるため、誤った自己参照がすぐに見つかります。
- 貼り付け直後に循環参照が現れた場合は、Ctrl+Z で元に戻し、参照元の範囲外のセルに貼り付け直してください。
- 反復計算はデフォルトでオフのままにしておきましょう — オンにすると、Excel が本来検出してくれるはずのエラーが隠れてしまいます。

