おじさんです!
最近GoogleスプレッドシートからExcelに乗り換えたのですが、分からないことだらけです。
今日はなんか、変なメッセージが出てしまいました。
どうやらエラーが発生している様なのですが・・。
目次
Excelで「1つ以上の循環参照が発生しています」というメッセージが表示された
GoogleスプレッドシートからExcelに乗り換えるべく、データを手動で移し替えていると、以下の様なメッセージが表示される様になりました。
小さくて読めないかも知れませんが、以下の様に書かれています。
1つ以上の循環参照が発生しています。数式が直接的または間接的に自身のセルを参照している状態を指します。これにより、計算が正しく行われない可能性があります。
うーん。正直意味がよく分からない。
多分、関数を入れるときに、参照するセルを間違えてしまった?っぽい感じがするのですが・・・。
このエラーメッセージは、どうやら「これによって直ちにブックが動かなくなる」というものではなくて、「正しく動いていない可能性があります」という注意?みたいなものっぽいです。
このエラーメッセージで「OK」を選択すれば、その後は普通にExcelが使える様になります。(どこかで計算のエラーが出ているかも知れませんが)
「循環参照」とはどんな意味?
そもそも循環参照とはどういう意味なのでしょうか?
Officeの公式のサポートページに以下の記述がありました。
循環参照とは、その数式が入力されているセル自体を参照する数式のことです。 たとえば、次の数式には、その数式が含まれているセルである "A1" が含まれています。 循環参照が実行された場合、次のように同じセルが繰り返し参照され、数式は無限に計算されます。
うーん、まあ一応分かりますね?
分かる様な気がします・・・・。
「1つ以上の循環参照が発生しています」の解決方法
とりあえず、数式の間違いがある事は分かりました。
であれば、どこの数式が間違っているのかが分かれば、それを正しくしてやればOKということになります。
ですが問題は、どこの数式が間違っているのか分からないということです。エラーメッセージを表示するときに一緒に「〇〇の数式が間違ってますよ!」と言ってくれたら助かるのですが、残念ながらそういうサポートはありません。
しかしExcelとしては、どこの数式が間違っているのか?を具体的に把握しているはずです。把握しているからこそ、こうしたエラーメッセージを表示出来るのですからね。
なので、エラーメッセージには表示がなくても、Excelのメニューからそれが見付けられるはず・・・ということで、調べてみました。
で、見つかりました。その方法が!
「循環参照」を見付ける方法
以下の方法で、どこの数式が「循環参照」に該当するのかを見付ける事が出来ます。
とってもカンタンな方法です。
Excelを開いたら、「数式」のタブを選択します。
右の方にあるエラーチェック(の右にある▼)を選択します。
上の画像だとちょっと小さくて見にくいので・・・
「エラーチェック」の部分をズームしてみました。
エラーチェックの右にある「▼」をクリックしましょう。
- エラーチェックの右の▼をクリック
- 「循環参照」にカーソルを合わせる
- 現れた数式をクリックする
上の3つの手順を踏むことで、循環参照があるセルに飛ぶことが出来ます。
僕の場合は、上のセルに飛びました。
数式を見てみると・・・・
こんな感じ。
なぜこんな数式をこんなセルに置いたのかよく分かりませんが、とりあえず削除しておきました。
これで解決・・・?
循環参照の問題を解決してもエラーメッセージが出る?
実は僕の場合、上の循環参照を削除したあとも、同じ「1つ以上の循環参照が発生しています」のエラーメッセージが出てしまいました。
なぜ?と思ったのですが、もしやと思って同じ手順を繰り返すと、別の循環参照が表示されました。
どうやら循環参照は一度に表示出来るのが1つまで?らしいので(Excelは高機能なので、複数まとめて対処する方法もありそうですね)、上の手順を繰り返して、全ての循環参照に対応する様にしましょう。
僕の場合は、合計2つの循環参照を削除したところ、Excelを再起動しても「1つ以上の循環参照が発生しています」というエラーメッセージは表示されなくなりました。