Excelの循環参照とは?原因の特定方法と解消の手順を解説
Excelで「1つ以上の循環参照があります」と表示されたときの解決策を解説。数式が自分自身を参照してしまう原因の特定方法から、合計範囲の修正や間接的なループの直し方までわかりやすく紹介します。
著者 Ayoub Farid · · 3 分で読めます
Excelで「1つ以上の循環参照が存在します」という警告が表示され、合計が0になってしまったことはありませんか?循環参照とは、数式が直接的または他のセルを経由して間接的に、自分自身のセルを参照して計算ループに陥っている状態のことです。
よくある典型的な原因
セルB14に合計を求める数式を入力した場合:
=SUM(B2:B14)
指定したセル範囲の中に、数式が入力されているB14自体が含まれてしまっています。修正するには、=SUM(B2:B13) のように範囲を狭めます。
列全体を指定する場合も同様です。B列のセルの中に =SUM(B:B) と入力すると循環参照が発生します。
間接的な循環参照の例
- セルC2:
=B2*D2 - セルD2:
=C2/10
C2の計算にはD2が必要で、そのD2の計算にはC2が必要になっています。個々の数式を単体で見ても間違いには気づきにくいですが、2つが組み合わさることで無限ループが発生してしまいます。
循環参照のセルを見つける方法
- 数式 > エラーチェック > 循環参照 を順にクリックすると、原因となっているセルが表示されます。
- 画面下部のステータスバーにも「循環参照: B14」のように表示されます。
- 参照元のトレース を使うと、矢印が表示されて参照関係を視覚的に確認できます。
循環参照を解消する方法
- 数式が入力されているセル自身が含まれないように、参照するセル範囲を修正します。
- 合計を求めるセルを、データが並ぶ列の外側(集計専用のエリアなど)へ移動します。
- 計算結果同士を参照し合うのではなく、入力値(元データ)から計算するように数式を見直して間接的なループを解消します。
あえて意図的に循環参照を使うケース
財務モデリングなど一部の高度な計算(利息が残高に依存し、その残高がさらに利息に依存するようなケース)では、反復計算(ファイル > オプション > 数式 > 反復計算を行う)を有効にして計算させることがあります。ただし、本来のエラーを見逃す原因になるため、明確な目的がない限り有効にするのは避けてください。
よくある質問
Excelの循環参照とは何ですか?
数式が直接、または他の数式の連鎖を経由して間接的に自分自身のセルを参照してしまっている状態のことです。
循環参照はどのように探せばよいですか?
「数式」タブの「エラーチェック」内にある「循環参照」を確認するか、画面下部のステータスバーを確認してください。
循環参照の警告が出てSUM関数の合計が0になるのはなぜですか?
合計を求めているセル自身が、SUM関数のセル範囲に含まれているためです。参照範囲を短く修正してください。
反復計算は有効にしても大丈夫ですか?
意図的にそのモデルを組んでいる場合のみ有効にしてください。通常の表計算シートでは、有効にするのではなく数式の間違いを修正するのが基本です。