数式を入れたのに結果が出ない、あるいは元データを直したのに古い値のままなら、まず疑うのは「計算方法の設定」が手動になっていることです。Excel の計算方法は自動・データテーブル以外自動・手動の3種類しかなく、手動のままだと値を変えても再計算されません。この記事では、その手動設定を含む5つの原因を、2〜3分で切り分けてから順に直していきます。ブックを壊す操作は使いません。
まず切り分ける(2〜3分)
原因を当てにいく前に、セルが今どういう状態かを見ます。次の3点を順番に見るだけで、5つの原因のどれかまで絞り込めます。いずれも表示を見るだけで、ブックの中身を書き換えません。
- 問題のセルを1つ選び、数式バーを見る。数式バーに =SUM(...) のような式が入っているか、それとも文字がそのまま入っているかを確認します。
- セルの中の見え方を見る。セルにも数式そのものが表示されているのか、0 や古い数値が出ているのか、左揃えの文字列として出ているのかを分けます。
- 画面下のステータスバーを見る。左端に「循環参照」という表示とセル番地が出ていないかを確認します。
この3点の組み合わせで、次のように分かれます。自分の症状に当たる行から読み進めてください。
セルの見え方 | 数式バー | 疑う原因 | 最初にやること |
|---|---|---|---|
古い値・0 のまま更新されない | 数式が入っている | 計算方法が「手動」 | [数式]→[計算方法の設定]を確認 |
=SUM(A1:A5) と式がそのまま見える(列幅が広がっている) | 同じ式 | 「数式の表示」がオン | [数式]→[数式の表示]をオフ |
=SUM(A1:A5) と式が左揃えで見える(1セルだけ) | 同じ式 | 書式が「文字列」 | 書式を標準に戻して再入力 |
式が左揃えで見えるが、数式バーの先頭に「'」がある | '=SUM(...) | 先頭のアポストロフィ | 「'」を削除して確定 |
0 が出る/警告が出た | 数式が入っている | 循環参照 | ステータスバーとエラーチェックを確認 |
なお「シート全体が重くて、再計算が終わるまで数十秒かかっているだけ」という場合もあります。計算されないのではなく遅いだけなら、原因も対処も別物になるので、エクセルの動作が遅い原因と対処法のほうを先に見てください。
原因別の対処
原因1:計算方法の設定が「手動」になっている
いちばん多い原因です。手動計算では、値・数式・名前を変えても Excel は再計算せず、古い結果が残ったままになります。まず現在の設定を見ます。
- リボンの[数式]タブを開く。
- 右端の[計算方法]グループにある[計算方法の設定]をクリックする。
- [自動][データテーブル以外自動][手動]のどれにチェックが付いているかを見る。
- [手動]になっていたら[自動]を選ぶ。この時点で再計算が走り、値が更新されます。
[ファイル]→[オプション]→[数式]の「計算方法の設定」からも同じ変更ができます。今すぐ1回だけ計算し直したいときは、キーボードでの再計算も使えます。Microsoft のショートカット一覧では、それぞれの効き方が次のように分かれています。
キー | 何を計算するか | 使う場面 |
|---|---|---|
F9 | 開いているブックのうち、前回の計算以降に変更された数式 | 手動計算のまま、いま結果を見たいとき |
Shift+F9 | 作業中のワークシートだけ | 大きなブックで、今のシートだけ更新したいとき |
Ctrl+Alt+F9 | 変更の有無に関係なく、開いているすべてのブックのすべての数式 | F9 でも直らないとき(再計算の取りこぼしを疑う) |
Ctrl+Shift+Alt+F9 | 依存関係を作り直したうえで、すべての数式 | 参照のつながりがおかしいとき |
ここで大事なのが、計算方法はブックごとではなく Excel 全体で1つだという点です。Microsoft の説明によれば、最初に開いたブックの保存時のモードがそのまま採用され、あとから開いたブックもすべて同じモードになります。さらに、開いているブックのどれか1つで手動に変えると、開いている全ブックが手動に変わります。
開かれた最初のドキュメントでは、最後に保存された計算モードが使用されます。後で開かれるドキュメントは、同じモードを使用します。
つまり「誰かが手動で保存した集計ファイルを朝いちばんに開いた」だけで、その日その後に開いた全部のブックが手動計算になります。自分は何も設定していないのに手動になっていた、という状況はこれで説明がつきます。直した後は、そのブックを保存し直して自動モードで保存された状態にしておくと、次に開いた人に手動が伝染しません。
原因2:セルの書式が「文字列」になっている
セルの表示形式が「文字列」のまま数式を入力すると、Excel はそれを式ではなく文字として受け取ります。結果は計算されず、入力した式がそのまま左揃えで表示されます。1つのセルだけがこうなっている場合はほぼこれです。
ここに落とし穴があります。書式を「標準」に戻しても、すでに入力済みの内容は文字列のままです。Microsoft も、表示形式を文字列に設定した場合について「既に入力されている数値は変更されず、書式設定後に入力される数値のみに適用される」と書いています。戻すときも同じで、書式を変えただけでは直りません。次の順番が必要です。
- 該当のセル(または範囲)を選ぶ。
- [ホーム]タブ→[数値]グループの表示形式ボックスで「標準」を選ぶ。Ctrl+1 で[セルの書式設定]を開き、[表示形式]タブ→[標準]でも同じです。
- セルをダブルクリックするか F2 で編集状態にし、そのまま Enter で確定し直す。これで初めて数式として解釈されます。
- セルが多いときは、範囲を選んで[データ]タブ→[区切り位置]→[完了]を押すと、まとめて入力し直したのと同じ状態になります。
元データが基幹システムや CSV からの取り込みで、数値のほうが文字列になっている場合もあります。この場合は数式は動いているのに SUM の結果が 0 になる、という別の症状として出ます。左揃えになっていて左上に緑の三角が出ていたら、セルを選んで表示されるエラーボタンから「数値に変換する」を選ぶのが最短です。
原因3:「数式の表示」がオンになっている
シート全体で、どのセルも計算結果ではなく数式そのものを表示している場合はこれです。特徴はシート全体で起きることと、列幅が自動的に広がることです。1セルだけなら原因2、シート全体なら原因3、と覚えると切り分けが早くなります。
- [数式]タブを開く。
- [ワークシート分析]グループの[数式の表示]ボタンを見る。押された状態(ハイライト)になっていたらクリックしてオフにする。
- キーボードなら Ctrl+グレーブアクセント(`)で切り替わります。日本語キーボードには単独の「`」キーがないため、実際には Ctrl+Shift+@ を押すことになります。
この設定はシート単位で保存されるので、ブックを開き直しても直りません。また、Ctrl+Shift+@ は @ キーの近くを打ったときに誤爆しやすく、本人に操作した覚えがないまま発生します。押した覚えがなくても、まずボタンの状態を見てください。
原因4:数式の先頭にアポストロフィや空白が入っている
数式の前に半角のアポストロフィ(')が付いていると、Excel はその内容を文字列として扱います。Microsoft も「数値の前にアポストロフィ(')を入力することができます。これは文字列として扱われます」と説明しており、これは仕様どおりの動作です。セル上にアポストロフィは表示されず、数式バーでだけ見えるため、気づきにくい原因です。
- 該当セルを選び、数式バーの先頭を見る。「'=」で始まっていたら確定です。
- F2 で編集状態にし、先頭の「'」だけを削除して Enter。
- 「 =SUM(A1:A5)」のように半角スペースが先頭に入っている場合も同じで、スペースを削除して確定し直します。
- 複数セルにわたる場合は、範囲を選んで[データ]タブ→[区切り位置]→[完了]でまとめて解除できます。
この症状は、テキストエディタやメールから数式をコピーして貼り付けたとき、他システムからエクスポートした CSV を開いたとき、そして数値の頭のゼロを残すためにアポストロフィを使う運用が定着している職場でよく起きます。前者2つは貼り付け時に[値のみ貼り付け]ではなく、いったんメモ帳を経由せず数式バーへ直接貼ると避けられます。
原因5:循環参照が起きている
数式が直接または間接に自分自身を参照していると、Excel は計算を完了できず、そのセルは 0 か最後に計算された値のままになります。たとえば D3 に =D1+D2+D3 と入っている状態です。合計行を含めたまま SUM した、という形でよく発生します。
- ステータスバーの左端を見る。「循環参照」と、原因になっているセル番地が表示されます。
- [数式]タブ→[エラーチェック]の右の矢印→[循環参照]を開く。該当するセル番地が一覧で出ます。
- 一覧のセルを1つずつ選び、数式が自分自身を含んでいないか確認して範囲を直す。合計行の1つ上までに参照範囲を縮めるのが典型的な直し方です。
- 一覧が空になるまで繰り返します。1つ直すと次の循環参照が現れることがあります。
初回に警告が出た後は黙って 0 が表示され続けるため、警告を閉じてしまうと気づきません。財務モデルなどで意図的に循環させたい場合だけ、[ファイル]→[オプション]→[数式]で[反復計算を行う]を有効にします。Excel の既定では、反復回数が 100 回に達するか、値の変化が 0.001 未満になった時点で計算が止まります。意図せず反復計算が有効になっていると、循環参照に気づかないまま数字がずれ続けるので、通常の集計表ではオフのままにしてください。循環参照の探し方は、セルが複数シートにまたがると一気に難しくなります。詳しい追い方はエクセルの循環参照が消えない時の探し方と直し方にまとめています。
再発させない運用
5つの原因のうち、原因1と原因5は「一度直しても、また同じ人が同じ操作で戻す」性質があります。特に手動計算は、ブックが重いから手動にした、という現場の合理的な判断から始まることが多く、単に自動へ戻すだけでは解決しません。次の3つを決めておくと再発が減ります。
- 共有する集計ファイルは、自動計算の状態で保存して閉じる。保存時のモードが次に開いた人の Excel 全体に効くため、ここが一番効きます。
- 取り込み用のシートと集計用のシートを分ける。CSV や基幹システムの出力は必ず取り込みシートに貼り、集計シートからは参照だけにすると、書式やアポストロフィの混入が集計側に届きません。
- 合計行を SUM の範囲に含めない。表の作り方を先に決めておくと、循環参照そのものが起きにくくなります。
ただし、これらは対症療法の域を出ません。そもそも手動計算にしたくなるほど重いブックや、毎月コピーして使い回す集計表は、Excel の使い方としてすでに限界に近い状態です。Excelの現在時刻が自動更新されない原因で扱った NOW 関数の挙動も同じで、「Excel はファイルを開いて操作したときにしか動かない」という前提そのものが、日次で回る業務とかみ合わなくなっています。
再計算待ちや手動計算での運用が常態化している集計表は、Excel の設定をいくら直すより、仕組み側で持ち替えたほうが早い場合があります。Mihata では、いま使っているスプレッドシートをそのまま土台にして社内アプリ化する進め方をご案内しています。合わなければお断りいただいて構いません。
それでも直らない時
ここまでの5つを試しても値が更新されない場合、切り分けの軸は「そのブックだけの問題か、Excel 全体の問題か」です。新規ブックを作り、A1 に 1、A2 に 2、A3 に =A1+A2 と入れて 3 が出るかを確かめてください。新規ブックでは正しく計算されるなら、原因は Excel ではなくそのブックの側にあります。
ブック側が原因のときに次に試す価値があるのは、Ctrl+Shift+Alt+F9 による依存関係の作り直しです。これは依存する数式を確認したうえで、開いているすべてのブックのすべての数式を計算し直します。これで直るなら、参照のつながりを Excel が見失っていた可能性が高く、該当の数式を入力し直すか、シートを新しいブックへコピーし直すのが現実的です。
新規ブックでも計算されないなら、Excel 側の問題です。アドインの影響を切り分けるためにセーフモードで起動し、それでも再現するなら Office の修復を検討します。逆に、ファイルを開くたびに壊れる、開くと毎回同じ警告が出るといった場合は、ブックの破損を疑う段階です。ここまで来たら、直すより「その表を作り直す」ほうが早いことがほとんどです。1つのブックの復旧に半日かけるより、同じ集計を別の形で組み直したほうが、結果的に翌月以降の手間まで減ります。
同じ症状が毎月のように出る、直したつもりが別の人の手元で再発する、といった状態でしたら、表の作り方ごと見直したほうが早いかもしれません。現状の集計表を拝見したうえで、直すべきか作り替えるべきかの判断からお手伝いします。
よくある質問
数式を入れたのに結果が出ず、式がそのまま表示されます。原因は何ですか。
1つのセルだけなら、そのセルの表示形式が「文字列」になっている可能性が高いです。シート全体で式が表示され列幅も広がっているなら、[数式]タブの[数式の表示]がオンになっています。数式バーの先頭に「'」が見えるなら、アポストロフィが原因です。
書式を「標準」に戻したのに、まだ計算されません。
表示形式の変更は、すでに入力済みの内容には及びません。書式を標準に戻したうえで、そのセルを F2 で編集状態にしてから Enter で確定し直す必要があります。セルが多い場合は範囲を選んで[データ]タブ→[区切り位置]→[完了]でまとめて入力し直せます。
F9 と Shift+F9 と Ctrl+Alt+F9 は何が違いますか。
F9 は開いているブックのうち前回の計算以降に変更された数式を計算します。Shift+F9 は作業中のワークシートだけです。Ctrl+Alt+F9 は変更の有無に関係なく開いているすべてのブックのすべての数式を計算するため、F9 で直らないときに使います。
自分で設定した覚えがないのに、計算方法が「手動」になっていました。
Excel は開いているすべてのブックで同じ計算モードを使い、最初に開いたブックの保存時のモードがそのまま採用されます。手動で保存されたファイルを先に開くと、その後に開いたブックもすべて手動になります。直したら自動の状態で保存し直しておくと、次に開く人に伝染しません。
循環参照の警告を閉じてしまい、どのセルか分かりません。
ステータスバーの左端に「循環参照」とセル番地が表示されます。表示がない場合は[数式]タブ→[エラーチェック]→[循環参照]を開くと該当セルの一覧が出ます。1つ直すと次が現れることがあるので、一覧が空になるまで繰り返してください。
よくある質問
エラーを消すために、表の結合をすべて解除しても大丈夫ですか?
並べ替えに使う表であれば解除して問題ありません。ただしMicrosoftの公式ヘルプのとおり、結合を解除すると値は左上のセルにだけ残り、他のセルは空白になります。解除後にジャンプ機能で空白セルを選び、上のセルの値で一括して埋めてから並べ替えてください。印刷して配るだけの帳票は、結合したままでも支障ありません。
見出しを表の幅いっぱいに中央寄せしたいのですが、結合以外に方法はありますか?
セルの書式設定(Ctrl+1)の配置タブで、横位置を「選択範囲内で中央」にすると、セルを結合せずに同じ見た目になります。セルの境界は残るため、並べ替えもフィルターも止まりません。ただしこの書式はセル1つずつに設定されるので、中央寄せに使う範囲の左端以外には文字を入れないでください。
空白セルを埋めるときに値の貼り付けは省略できますか?
省略しないでください。ジャンプで空白セルを選んで「=」と上矢印、Ctrl+Enterで入るのは1つ上のセルを参照する数式です。そのまま並べ替えると参照先がずれて、別の行の値が表示されてしまいます。コピーしてから右クリックの貼り付けのオプションで「値」を選び、数式を固定してから並べ替えます。
結合セルが見つかりません。どこを探せばいいですか?
ホームタブの検索と選択から検索を開き、オプション、書式、配置タブの「セルを結合する」にチェックを入れて「すべて検索」を押すと、シート内の結合セルが一覧で出ます。表の下や右にある備考欄、凡例、古い表の残骸に結合セルが残っていることが多いです。検索場所がブック全体になっていると別シートの結合セルまで出るので注意してください。
結合を残したまま並べ替える方法はありますか?
Microsoftの公式記事は、範囲内のすべての結合セルを同じ行数・列数にそろえれば並べ替えられると説明しています。ただし列を追加するたびに結合し直す必要があり、行の挿入でも形が崩れます。並べ替えやフィルターを日常的に使う表では現実的ではないため、結合をやめる方をおすすめします。