循環参照とは、数式が直接または別のセルを経由して、最終的に自分自身を参照してしまう状態です。
循環参照が発生すると、数式が自分自身の計算結果を必要とするため、通常は正しく計算できません。
そのため、意図した計算結果が表示されないことがあります。
本記事では、循環参照が発生する原因、発生しているセルの見つけ方、数式の直し方について解説します。
循環参照とは?
循環参照とは、数式が直接または間接的に自分自身を参照し、計算が循環して完了できなくなる状態です。
例えば、A1セルに「=A1+1」と入力すると、A1セルの値を求めるためにA1セルの値が必要となり、計算が完了しません。これが、1つのセルだけで発生する循環参照です。
また、A1セルに「=B1」、B1セルに「=A1」と入力した場合も、2つのセルがお互いを参照するため、循環参照になります。このように、複数のセルを経由して元のセルに戻る場合も循環参照に含まれます。
循環参照が発生する主な原因
循環参照は、数式にその数式が入力されているセル自身を含めたり、複数のセルがお互いを参照したりすると発生します。
例えば、F3セルに「=SUM(A3:F3)」と入力すると、合計範囲にF3セル自身が含まれるため、循環参照になります。
循環参照が発生すると、どうなってしまう?
基本的に正しく計算できなくなる
循環参照が発生すると、通常は正しい計算結果を得られません。反復計算を利用して循環参照を意図的に使用する場合もありますが、誤って発生した場合は数式を修正する必要があります。
循環参照が発生したセルには、「0」または直前に計算された値が表示されることがあります。そのため、一見すると問題がないように見えても、意図した計算結果になっていない場合があります。
ブックを開いたときやブックの保存時に警告が表示される
循環参照が発生していると、ブックを開いたときやブックの保存時に警告が表示されることがあります。
このブックを複数人で使用している場合、計算結果に影響がないように見えても、警告が表示されることで利用者に不安を与える可能性があります。問い合わせの原因になることもあるため、循環参照は解消しておきましょう。
ただし、循環参照が発生するたびに警告が表示されるとは限りません。警告が表示されなくても、循環参照が残っている場合があります。
循環参照が発生したら何をすべきか
循環参照が発生したら、次の順番に対応してください
- どのセルで循環参照が発生しているか確認する
- 循環参照しているセルが、他のセルから参照されているか確認する
- ②を踏まえ、循環参照が発生しているセルの数式を訂正(削除)する
- 訂正した数式が意図した計算結果になっているか確認する
- 訂正したセルを参照しているほかのセルに、問題がないか確認する
- ほかに循環参照が発生しているセルがないか確認する
発生している場合は②へ戻る。発生していない場合は完了
循環参照が発生しているセルを見つける方法
循環参照が発生しているセルを見つけるための機能があります。
[数式]タブ → [エラーチェック]の▼ → [循環参照]で循環参照が発生しているセルの位置が表示されるので、このセルを修正してください。

修正が完了したら、再度、循環参照が発生していないか確認してください。
[循環参照]の文字がグレーアウトしていれば、循環参照が解決しています。

- ステータスバーにも表示される
循環参照が発生していると、ステータスバーに表示されます。
表示中のシートに循環参照が発生しているセルがあると、ステータスバーに「循環参照:セルの位置」と表示されます。

表示中のシートとは別のシートに循環参照が発生しているセルがあると、ステータスバーに「循環参照」と表示されます(セルの位置は表示されません)。

注意点1:循環参照が複数ある場合
ブック内に複数の循環参照がある場合でも、[循環参照]の一覧にすべてのセルが同時に表示されるとは限りません。
A1セルに「=A1」、A2セルに「=B2」、B2セルに「=A2」と入力されているとします。
この場合、Excelは次のように判断します。
・1つ目:A1セルだけで循環している
・2つ目:A2セルとB2セルがお互いに循環している
筆者の環境では、複数の循環参照が発生している場合、最後に操作した循環参照のグループに含まれるセル番地が表示されました。
例えば、A1セルを最後に操作したら[循環参照]に『$A$1』が表示され、A2セルかB2セルを最後に操作したら[循環参照]に『$A$2』と『$B$2』が表示されます。
表示されたセルを修正したら、[循環参照]がグレーアウトするまで確認を繰り返してください。
注意点2:計算方法を[手動]にしている場合
計算方法を[手動]にしている場合は、[数式]タブの[再計算実行]をクリックするか、F9キーを押してから循環参照を確認してください。
再計算していないと、すでに修正したセル番地や、移動前のセル番地が[循環参照]に残って表示されることがあります。

参照しているセルを調べる方法(参照先のトレース)
調べたいセルを参照しているセルを調べる場合は、調べたいセルを選択した後、[数式]タブ → [参照先のトレース]の順にクリックしてください。

対象のセルを参照しているセルがある場合、青の矢印や黒の矢印が表示されます。

青い矢印の先に、選択したセルを参照している同じシート内のセルが表示されます。矢印をダブルクリックすると、そのセルへ移動できます。
黒い点線の矢印は、別のシートまたは別のブックに、選択したセルを参照しているセルがあることを表します。黒い矢印をダブルクリックすると[ジャンプ]ダイアログが開くため、一覧のセル番地をダブルクリックして移動してください。

まとめ
循環参照は、数式が直接または別のセルを経由して、自分自身を参照すると発生します。
[数式]タブ → [エラーチェック]の▼ → [循環参照]の順にクリックすると、循環参照が発生しているセルを確認できます。表示されたセルの数式を修正し、[循環参照]がグレーアウトするまで確認を繰り返してください。
必要に応じて[参照先のトレース]を使用すると、修正するセルを参照しているほかのセルも確認できます。
