エクセルで循環参照の警告が出る。反復計算で消すと数字がふくらむんだよ

A君の成長

おはよう、後輩A君。

エクセルを開いたとたんに、こんな警告が出たことはないかな。

1つ以上の循環参照が発生しています。

OKを押すと消えるから、そのまま作業を続けてしまうんだよね。そして次に開くと、また出るんだ。

「循環参照 警告 消し方」で調べると、「反復計算」という設定をONにすると警告が出なくなる、という話が見つかるんだよ。

⚠️ 今日はそれを、実際にエクセルで測って確かめたよ。たしかに警告は消えたんだ。でも、合計の数字が計算するたびにふくらんでいったんだよ。そこまで順番に書くね。

1. 循環参照は、自分で自分を足している状態なんだよ

こんな表で試したよ。5つのお店の売上と、その合計だね。

    A列  B列
1行目 店   売上
2行目 札幌  120
3行目 函館  80
4行目 旭川  60
5行目 釧路  40
6行目 帯広  50
7行目 合計  350

正しい合計の式はこうだよ。

B7 =SUM(B2:B6)

ここで、合計の範囲を1行だけ広げてみたんだ。

B7 =SUM(B2:B7)

⚠️ B7の中で、B7自身を足そうとしているんだよね。B7の答えを出すにはB7の答えが要る。その答えを出すにはまたB7が要る。ぐるぐる回って終わらないんだ。これが「循環参照」だよ。「循環」は、ぐるぐる回ることだね。

Enterを押したら、警告が出たよ。

1つ以上の循環参照が発生しています。循環参照とは、数式が直接的または間接的に自身のセルを参照している状態を指します。これにより、計算が正しく行われない可能性があります。
循環参照を削除または変更するか、数式を別のセルに移動してください。

エクセルで合計のセルに =SUM(B2:B7) と入力したときに出た循環参照の警告
OKを押したら、こうなったんだ。

B7(合計) → ⚠️ 0

350になるはずの合計が、0になったんだよ。
OKを押すと合計が0になり、画面の下に「循環参照: B7」と出た
画面のいちばん下に「循環参照: B7」と出ているのも見てね。これはあとで使うよ。

合計の範囲を1行広げるのは、よくあることなんだ。表の下に行を足したときや、範囲をマウスで選ぶときに1行多く選んでしまったときに起きるんだよね。

2. ⚠️ 2つ目からは、警告が出ないんだよ

もう1つ、別の形でも試したよ。税込の金額を出す表だね。

    品名  税抜  消費税     税込
2行目 ノート 500  =B2*0.1(50) =B2+C2(550)

消費税は税抜から、税込は税抜と消費税から計算しているよ。ここまでは正しいんだ。

ここで、税抜の欄(B2)の500を消して、式にしてしまったんだよ。「税込から消費税を引けば税抜だよね」と考えたつもりだね。

B2 =D2-C2

⚠️ 税抜は税込から、税込は税抜から計算していることになるんだ。1つのセルの中ではなく、3つのセルでぐるっと回っているんだよね。これも循環参照だよ。

測った結果はこうだったんだ。

警告    → ⚠️ 出なかった
税抜(B2) → ⚠️ 0
消費税(C2)→ ⚠️ 50(古い数字のまま)
税込(D2) → ⚠️ 550(古い数字のまま)

税抜を =D2-C2 にしたら税抜が0になり、消費税50と税込550は古い数字のまま
⚠️ 警告は、ファイルを開いてから最初の1回しか出なかったんだよ。2つ目の循環参照を作っても、何も言ってこなかったんだ。

⚠️ しかも、税抜が0になったのに、消費税と税込は前の数字のままだったんだよね。0の10%は0のはずなのに、50のままなんだ。エクセルがぐるぐるの計算をあきらめて、そこで止まっているんだよ。

測っているうちに、3つのセルをつなぐ青い矢印が出てきたこともあったよ(次の章の画像に写っているよ)。「ここが回っているよ」という印なんだ。⚠️ ただ、出ないときもあったから、矢印だけを頼りにしないほうがいいね。

3. どこが回っているかは、2か所で分かるんだよ

その1:画面のいちばん下(ステータスバー)

エクセルの画面のいちばん下に、小さく文字が出ているんだ。

循環参照: B7

合計の表のときは、B7と、ちゃんと犯人のセルが出たよ。

⚠️ でも、これには弱いところが3つあったんだ。

① 番地は1つしか出ない。循環参照が2つあっても1つだけ
② 別のシートを開いていると「循環参照」とだけ出て、番地が出ない
③ ⚠️ 税込の表を保存して開き直したら「循環参照: D2」と出た。式を間違えたのはB2なのに

③は、ぐるっと回っている3つのセルのうち、どれか1つを指しているんだよね。回っている輪の中にはいるけれど、間違えたセルとは限らないんだよ。

その2:「数式」タブのエラーチェック

⭐ こちらのほうが確実だったよ。

「数式」タブ → 「エラー チェック」の横の ▼ → 「循環参照」

こうたどると、横に回っているセルの一覧が出てきたんだ。税込の表では、こう並んだよ。
数式タブのエラーチェックから循環参照を開くと、$B$2と$D$2が並んだ。表には青い矢印

$B$2
$D$2

間違えたB2が、ちゃんと一覧に入っていたんだ。そして一覧の「$B$2」を選ぶと、B2のセルに飛んで、上の数式バーに「=D2-C2」と出たよ。

⚠️ でも、ここにも1つ落とし穴があったんだ。循環参照が2つあるとき(売上の合計も税込も、両方回っているとき)に開くと、こうなったんだよ。
循環参照が2つあるとき、税込のシートを開いていても一覧には売上!$B$7だけが出た

開いていたシート → 税込
一覧に出たセル  → ⚠️ 売上!$B$7 だけ

⚠️ 一覧に出るのは、1つの輪の分だけだったんだよ。売上の合計を直してから開き直したら、上の画像のように税込の$B$2と$D$2が出てきたんだ。

⇒ 一覧のセルを直したら、もう一度一覧を開いて、次の輪が出てこないか見る。一覧が空っぽになるまでくり返す。この順番がいいと思うよ。

4. ⚠️ 反復計算をONにすると、警告は消える。でも数字がふくらむんだよ

ここが今日いちばん伝えたいところなんだ。

エクセルには「反復計算」という設定があるんだよ。「反復」は、くり返すことだね。ONにすると、ぐるぐる回る計算を決まった回数だけくり返して、そこで止めるんだ。測ったエクセルでは、最大100回になっていたよ。

合計の表(B7 =SUM(B2:B7) のまま)で、反復計算をONにしてみたんだ。

ONにして計算させた   → ⚠️ 70,000
もう1回計算させた    → ⚠️ 105,000
札幌を120から121に変えた → ⚠️ 140,100
(正しい合計は350)

反復計算をONにすると合計が140100になり、画面の下は「再計算」だけになった
⚠️ 計算するたびに、約35,000ずつ増えていったんだよ。

なぜかというと、B7は「札幌から帯広までの350」に「今のB7」を足しているからなんだ。350を足して、また足して…を100回くり返すから、1回の計算で350×100=35,000ずつ増えるんだよね。どこかの数字を1つ変えるだけで、また増えるんだ。

⚠️ そしてこのとき、警告は出ないし、ステータスバーの「循環参照」も消えたんだよ。青い矢印も消えたんだ。エクセルは「くり返していいと言われたから、くり返しています」という態度なんだよね。

もっと怖かったのは、税込の表のほうなんだ。

税抜(B2) → 500
消費税(C2)→ 50
税込(D2) → 550

反復計算がONだと、式が間違ったままでも税抜500・消費税50・税込550と正しそうに見える
⚠️ 正しい数字に見えるんだよ。式は間違ったまま(税抜が税込から計算されている)なのに、たまたまつじつまが合う数字で止まったんだ。これだと、間違いに誰も気づけないんだよね。

⇒ 反復計算は、警告を消すものではなく、警告を聞こえなくするものだったんだよ。

5. ⚠️ OFFに戻しても、ふくらんだ数字は残るんだよ

あわてて反復計算をOFFに戻してみたんだ。

OFFに戻した  → ⚠️ 140,100(そのまま)
もう1回計算させた → ⚠️ 140,100(そのまま)

反復計算をOFFに戻しても合計は140100のまま。画面の下に「循環参照: B7」
⚠️ ふくらんだ数字は、元に戻らなかったんだよ。

設定を戻せば直ると思ってしまうよね。でも、直らないんだ。このまま保存すれば、140,100が合計として残るんだよ。

直ったのは、式を直したときだったんだ。

B7 =SUM(B2:B6) に直した → ⭐ 350

式を =SUM(B2:B6) に直すと合計は350に戻り、画面の下の「循環参照」も消えた

6. 直し方は、「回っている式を直す」だけなんだよ

今日の2つの例では、こう直したよ。

合計の範囲に自分を入れていた → =SUM(B2:B7) を =SUM(B2:B6) に(範囲を1行上までにする)
入力する欄を式にしていた   → 税抜の =D2-C2 を 500 に(数字に戻す)

直したら、ステータスバーの「循環参照」も、青い矢印も消えたよ。消えたら直った合図なんだ。

順番をまとめるとこうなるね。

① ステータスバーに「循環参照」が出ていないか見る
② 出ていたら「数式」→「エラー チェック」▼→「循環参照」で一覧を見る
③ 一覧のセルを1つずつ選んで、自分を足していないか・入力欄が式になっていないかを見る
④ 式を直したら、⚠️ もう一度一覧を開いて、次の輪が出てこないか見る
⑤ ステータスバーの「循環参照」が消えたか確かめる

⚠️ 反復計算の設定にはさわらないんだよ。

7. ⚠️ 今日測れなかったこと

正直に書いておくね。

・測ったのはMac版のエクセルだよ。Windows版では測っていないんだ
・反復計算の設定画面の場所は、今日は確かめていないんだ。ONとOFFは別の方法で切り替えて測ったよ
・別のシートとのあいだで回る循環参照は、試していないんだ

8. エクセルの記事、これで19本目だよ

合計が0になる     → 数字が文字として入っている
循環参照(今日)     → ⚠️ 合計が自分自身を足している(これも0になる)
フィルタした行だけ合計 → 足す範囲に見えない行が入っている
数式をコピーしたらズレる → 範囲が動いてしまう

「合計が0になった」ときの原因は、文字の数字だけではなかったんだよね。循環参照でも0になるんだ。0が出たら、ステータスバーも1回見てみようか。

⚠️ 並べてみると、今日の話もやっぱり「範囲」の話なんだよ。1行多く選んだだけで、合計が自分を足してしまうんだ。

結論:警告は消すものではなく、直すものなんだよ

今日測った結果をまとめるとこうだよ。

① 合計の範囲に自分を入れると、循環参照になる。合計は0になった
② ⚠️ 警告は最初の1回だけ。2つ目は何も言わずに0になり、ほかの数字は古いまま止まった
③ ステータスバーの番地は1つだけで、間違えたセルとは限らない
④ ⭐ 「数式」→「エラー チェック」▼→「循環参照」で、回っているセルが見えて、選ぶと飛べる。⚠️ ただし一度に出るのは1つの輪だけ
⑤ ⚠️ 反復計算をONにすると警告は消える。でも合計は70,000→105,000→140,100とふくらんだ
⑥ ⚠️ 税込の表は正しそうな数字で止まって、間違いが隠れた
⑦ ⚠️ 反復計算をOFFに戻しても、ふくらんだ数字は残った
⑧ ⭐ 直るのは式を直したときだけだった

警告のたびにOKを押すのは、面倒だよね。だから「消し方」を探したくなるんだ。

でも、あの警告は「この表の数字は、正しく計算できていないよ」と教えてくれているんだよ。聞こえなくしても、数字が正しくなるわけではないんだ。

警告が出たら、設定ではなく式を見る。それだけで、ふくらんだ合計を人に渡さずにすむんだよ。

よくある質問

Q1. 反復計算は、使ってはいけない設定なんですか

⚠️ 使いどころはあるんだよ。わざとくり返し計算をさせたい表のために用意されている設定なんだ。⇒ でも、ふつうの売上表や請求書のような表で必要になることは、まずないと思うよ。警告を消すためにONにするのは、今日測ったとおりやめておこうか。

Q2. OKを押せば、直りますか

⚠️ 直らないよ。OKは警告を閉じるだけなんだ。式はそのままだから、合計は0のままだし、次にファイルを開いたときにまた警告が出るんだよ。今日も、保存して開き直したら同じ警告が出たよ。

Q3. 人からもらったファイルで警告が出ました。どうすればいいですか

まず「数式」→「エラー チェック」▼→「循環参照」で、どのセルが回っているかを見てみようか。⚠️ 作った人がわざと反復計算を使っている表かもしれないから、勝手に直す前に、作った人に聞くのが安全だよ。聞くときは「B2とD2が循環参照になっているみたいです」と番地まで伝えると、話が早いんだ。

Q4. 0になったセル以外の数字は、信じていいですか

⚠️ 今日の税込の表では、0になった税抜の隣の消費税と税込が、古い数字のまま止まっていたよ。つまり、0になっていないセルも正しいとは限らないんだ。⇒ 循環参照を直してから、あらためて数字を見ようか。

【本日のミッション:画面のいちばん下を見てみようか】

  • ☐ よく使うエクセルを開いて、画面のいちばん下に「循環参照」と出ていないか見てみようか
  • ☐ 出ていたら「数式」→「エラー チェック」▼→「循環参照」で、回っているセルの一覧を見てみようか
  • ☐ 合計の式が、⚠️ 合計のセル自身まで範囲に入れていないか確かめてみようか
  • ☐ (後輩A君へ)警告が出たとき、消し方ではなく出ている理由を先に調べてみようか。⚠️ 警告を聞こえなくしても、数字は正しくならないんだよ

📚 AI活用シリーズ(おすすめ)

▼ シリーズの全記事一覧を見る

コメント

タイトルとURLをコピーしました