Mihata
仕事効率化(DX)2026.09.14

エクセルの循環参照が消えない時の探し方と直し方

「1つ以上の循環参照があります」という警告が出続けるときは、まず画面左下のステータスバーを見るのが最短です。ここに「循環参照: C12」のようにセル番地まで出ていればそのセルが犯人で、「循環参照」とだけ出て番地が付かない場合は、そのセルが今開いているシート以外にあります。Microsoft の公式ヘルプも、循環参照が別のワークシートにある場合はステータスバーにセル番地が表示されないと明記しています(Excel で循環参照を削除または許可する)。「探しても見つからない」の大半は、この番地の有無を見落としたまま同じシートを探し続けているのが原因です。

まず切り分ける(3分)

ブックを壊さずにできる確認だけを、順番に行います。数式の書き換えはこの段階ではしません。

  1. 画面左下のステータスバーを見る。「循環参照」の文字の右にセル番地があるか、無いかを確認する。
  2. [数式]タブ →[エラー チェック]の下向き矢印 →[循環参照]を開く。一覧にセル番地が並ぶか、何も出ないかを見る。
  3. [ファイル]→[オプション]→[数式]を開き、[計算方法の設定]の中の「反復計算を行う」にチェックが入っているかを見る。
  4. シート見出しを右クリックして[再表示]を選び、非表示のシートが存在するかを確認する(グレーアウトしていなければ隠れたシートがあります)。

この4つの結果で、探す場所がほぼ決まります。次の表の見方だけ覚えておけば、闇雲にセルを1つずつ開く必要はなくなります。

ステータスバーの表示

意味

最初にやること

循環参照: C12(番地あり)

今開いているシート内にある

そのセルへ移動し、参照元のトレースで輪を切る

循環参照(番地なし)

別のシートにある

シートを1枚ずつ切り替えて[エラー チェック]→[循環参照]を開き直す

何も表示されない・警告だけ出る

反復計算が有効になっている可能性が高い

[ファイル]→[オプション]→[数式]で反復計算のチェックを外して再確認する

表示されていたのに消えた

警告は同じセッションで1回しか出ない

ブックを保存して閉じ、開き直してから探し直す

なお、循環参照があるセルは計算結果が 0 になるか、最後に計算された値のまま止まります。公式ヘルプでも、警告を閉じた後はセルに 0 か直前の計算値が表示されると説明されています。「合計だけ 0 のまま動かない」という症状は、エラー表示ではなく循環参照を疑ってください。

原因別の対処

ステータスバーにセル番地が出ている(同じシート内)

いちばん素直なパターンです。番地が分かっているので、数式のどこが自分自身を含んでいるかを目で追います。典型的なのは、合計行の SUM の範囲に合計セル自身が入ってしまっているケースです。

  1. ステータスバーに出ているセルへ移動する。
  2. [数式]タブ →[ワークシート分析](版によっては[数式の監査])→[参照元のトレース]をクリックする。
  3. 伸びた矢印をたどって、どのセルから値が来ているかを確認する。もう一度クリックすると1つ上の階層まで遡れます。
  4. 数式の参照範囲を直す。C12 に =SUM(C2:C12) と入っていれば =SUM(C2:C11) に狭める、といった修正です。
  5. [数式]タブ →[矢印の削除]でトレース矢印を消し、ステータスバーから「循環参照」が消えたことを確認する。

矢印の色には意味があります。青はエラーのないセル、赤はエラーの原因となっているセル、黒は別のシートや別ブックを参照していることを示します。黒い矢印をダブルクリックすると[ジャンプ]ダイアログが開き、参照先へ移動できます。別シートを疑うときの手がかりとして使えます。

[循環参照]の一覧に何も出ない・別シートにある

[エラー チェック]→[循環参照]の一覧は、開いているシートを基準に表示されます。そのため、他のシートに原因があるとメニューが空のまま見えてしまいます。ステータスバーが番地なしの「循環参照」だけを出しているときは、まさにこの状態です。

  1. いちばん左のシート見出しをクリックする。
  2. [数式]タブ →[エラー チェック]→[循環参照]を開き、一覧にセル番地が出るか確認する。
  3. 出なければ次のシートへ移動し、同じ操作を繰り返す。シートの枚数だけ確認すれば必ずどこかで当たります。
  4. 番地が出たら、そのセルをクリックして数式バーの内容を確認し、自分自身へ戻る参照を切る。

シートが20枚を超えるようなブックでは、この総当たりが現実的ではなくなります。その場合は、集計シートのように他シートを参照している数式が集まっているシートから先に当たってください。循環の輪は、ほぼ必ず「シートをまたいで集計しているセル」を経由しています。

非表示シートに隠れている

使わなくなった作業用シートを非表示にしたまま残していると、そのシートの数式が循環の一部になっていても目に入りません。シート見出しを右クリック →[再表示]で一覧が出れば、隠れたシートがあります。表示してから前項の手順で確認してください。

注意点が2つあります。1つは、[再表示]がグレーアウトしていても安心はできないことです。VBA で「非常に非表示」に設定されたシートは再表示の一覧に出てこず、開発タブの Visual Basic エディタからしか戻せません。もう1つは、原因を特定した後の扱いです。不要だと決めつけてシートごと削除するのは避けてください。他のシートがそのシートを参照していると、削除した瞬間に大量の #REF! が発生します。まず数式を直し、参照が無いことを確かめてから削除する順番を守ります。

数式のどこが輪になっているか分からない

1つのセルが直接自分を参照している場合は簡単ですが、A1 → B1 → C1 → A1 のように3つ以上のセルを経由していると、1セルずつ見ても気づけません。このときはトレース矢印を使って輪の形を可視化します。

  1. 疑わしいセルを選び、[数式]タブ →[参照元のトレース]を複数回クリックして上流をすべて展開する。
  2. 続けて[参照先のトレース]をクリックし、下流も展開する。
  3. 矢印が輪を描いて元のセルに戻っていれば、その経路が循環参照です。
  4. 輪のうち1本だけを切ります。全部直す必要はありません。たいていは「集計セルを参照している明細セル」が1本だけ紛れ込んでいます。

トレースには限界もあります。公式ヘルプによれば、テキストボックス・グラフ・ピボットテーブル・名前付き定数、および閉じている別ブックのセルはトレースの対象外です。他ブックからのリンクを含むブックでは、参照先のブックを開いた状態で作業してください。

反復計算がオンで、警告が出ないまま値がおかしい

[ファイル]→[オプション]→[数式]→[計算方法の設定]にある「反復計算を行う」にチェックが入っていると、Excel は循環参照をエラーとして扱わず、そのまま繰り返し計算します。警告も出ません。誰かが過去に「警告がうるさいから」とオンにしたブックでは、循環参照が残ったまま数字だけが動いている状態になります。

既定では、計算を100回繰り返すか、循環参照に含まれるすべての値の変化が 0.001 より小さくなった時点で計算が止まります(最大反復回数 100、変化の最大値 0.001)。つまり収束しきっていない途中の値が表示されている可能性があるということです。金額の集計表でこれをオンにしておくのは危険です。

  1. [ファイル]→[オプション]→[数式]を開く。
  2. 「反復計算を行う」のチェックを外す。
  3. [OK]を押すと、残っていた循環参照の警告が改めて表示されるので、前項までの手順で場所を特定する。

ただし、反復計算が必要な計算も実際にあります。手数料込みの金額を逆算する、目標利益から売価を決める、といった「答えを使って答えを出す」タイプの表です。この場合は反復計算を残す判断もありますが、そのブックのどのセルが意図的な循環かをシート上にメモとして書き残してください。書いていないと、次に触った人が必ず同じ調査を一からやり直すことになります。

数式以外に潜んでいる

セルの数式をすべて確認しても見つからないときは、数式が入る場所が他にもあることを思い出してください。条件付き書式のルール、データの入力規則のカスタム数式、名前の定義に登録された数式は、セルを眺めていても見えません。

  • 条件付き書式:[ホーム]タブ →[条件付き書式]→[ルールの管理]で、対象を「このワークシート」に切り替えて全ルールの数式を確認する。
  • 入力規則:[データ]タブ →[データの入力規則]で、入力値の種類が「ユーザー設定」になっているセルの数式を確認する。
  • 名前の定義:[数式]タブ →[名前の管理]で、参照範囲に数式が入っている名前を確認する。

数式が計算されない・結果が更新されないという症状が同時に出ている場合は、循環参照ではなく計算方法が手動になっている可能性もあります。切り分けの手順はエクセルの数式が計算されない原因と対処にまとめています。

再発させない運用

循環参照は「うっかり」ではなく、表の構造が原因で起きます。行を追加したときに SUM の範囲が合計行まで伸びる、集計シートの値を明細シートに戻して使う、前月シートを複製して参照だけ付け替え忘れる。この3つがほとんどです。

  • 合計行は表の一番下に置き、合計行と明細の間に1行空ける。範囲が自動で伸びても合計セルを巻き込みません。
  • 集計結果を明細側で使い回さない。必要なら値貼り付けで別列に固定する。
  • 月次でシートを複製する運用は、複製直後に必ず[エラー チェック]→[循環参照]を1回開く習慣にする。
  • 非表示シートを作らない。使わないシートは削除するか、別ブックへ退避する。

とはいえ、数式が数式を呼び、それがまた別シートを呼ぶところまで育った集計表は、ルールを決めても壊れます。参照関係を人が追えなくなった時点で、Excel の限界を超えています。判断の目安は「作った本人以外が30分で構造を説明できるか」です。できないなら、表計算のまま直し続けるより、入力と集計を分ける仕組みに寄せたほうが結果的に早く終わります。

Mihata では、いま使っているスプレッドシートをそのまま入力画面付きの社内アプリに作り替える支援をしています。全部を作り直す話ではなく、循環しやすい集計部分だけを切り出すこともできます。

それでも直らない時

ここまでやっても警告が消えない場合は、次の順で見極めます。

  1. 新規ブックで再現するか:空のブックで A1 に =A1+1 と入れて警告が出るなら Excel は正常です。出ないならアドインや設定の問題を疑います。
  2. ブックを開き直したか:警告ダイアログは同じセッションで最初の1回しか表示されません。保存して閉じ、開き直すと出方が変わります。
  3. 他ブックへのリンクが無いか:[データ]タブ →[リンクの編集]で外部リンクを確認します。閉じたブックとの循環はトレースできません。
  4. ファイル自体が壊れていないか:[ファイル]→[開く]→[開く]ボタン横の矢印から[開いて修復する]を試します。

4つとも空振りで、しかもブックが数十MBある・開くのに数分かかるという状態なら、循環参照は症状の一部にすぎません。ブックの重さそのものを先に解消したほうが早く、原因の切り分けはエクセルの動作が遅い原因と対処法を参照してください。

最後に、循環参照を「表示されるけど動いているから」と放置するリスクを挙げておきます。警告が出ているセルの値は 0 か最後の計算値のまま固定されるため、数字は表示されているのに中身が更新されていない状態になります。請求金額や在庫数の集計でこれが起きると、間違いに気づくのは相手から指摘されたときです。開くたびに警告が出るブックは、誰かが必ず「いつものやつ」として閉じるようになります。その時点で、警告は警告として機能していません。

自社のブックでどこまで直せるか判断がつかない場合は、現物を見ながらご相談ください。修正だけで済むのか、作り替えたほうが早いのかも含めてお答えします。

よくある質問

ステータスバーに「循環参照」とだけ出てセル番地が表示されません。どこを探せばよいですか。

セル番地が付かない場合、循環参照は今開いているシート以外にあります。シートを1枚ずつ切り替えながら、数式タブのエラー チェック>循環参照を開き直してください。非表示シートがあれば、シート見出しを右クリック>再表示で表示してから同じ確認を行います。

数式タブのエラー チェック>循環参照を開いても何も表示されません。

この一覧は開いているシートを基準に表示されるため、別シートに原因があると空に見えます。また、ファイル>オプション>数式で「反復計算を行う」にチェックが入っていると、Excel は循環参照をエラーとして扱わないため一覧にも警告にも出てきません。まずこのチェックを外して確認してください。

循環参照のセルが0のまま変わりません。

循環参照があるセルは、警告を閉じた後に0か最後に計算された値が表示されたまま止まります。数式が壊れているのではなく計算が確定できていない状態なので、参照が自分自身へ戻っている箇所を切れば通常の値に戻ります。

反復計算はオンにしたままでも問題ありませんか。

手数料込みの金額を逆算するなど、意図的に循環させる計算には必要です。ただし既定では計算100回、または値の変化が0.001未満になった時点で止まるため、収束しきっていない値が表示されることがあります。金額の集計表では避け、必要な場合はどのセルが意図的な循環かをシート上に明記してください。

原因の非表示シートは削除してしまってよいですか。

すぐには削除しないでください。他のシートがそのシートを参照していると、削除した時点で大量の #REF! が発生します。先に数式を直し、参照元のトレースで参照が残っていないことを確認してから削除します。

まずはお気軽にご相談ください

AI・IT・デザインに関するお悩みやご相談、お見積りのご依頼など、
どんなことでもお気軽にお問い合わせください。

お問い合わせ