本文へスキップ

Excelの数式が計算されない|式のまま表示される4つの原因と直し方

計算しているオブジェクト

B列の一番下に合計を出そうとして、=SUM(B2:B10) と打ってEnter。セルに出てきたのは合計金額ではなく、いま打ったばかりの =SUM(B2:B10) という文字そのものでした。

打ち間違えたのかと思って入れ直しても、やっぱり式のまま。すぐ上のセルは普通に計算できているのに、ここだけ動いてくれない。見積書や請求書の途中でこれが起きると、作業がぴたりと止まります。

原因は4つあります。セルの表示形式が「文字列」になっている、「数式の表示」がオンになっている、式の先頭にアポストロフィや空白が混ざっている、計算方法が「手動」になっている。この4つです。どれに当たっているかは、直し方を片っ端から試さなくても、画面の見え方だけで見分けがつきます。

私は、紹介されている直し方を上から順に試していくやり方をおすすめしません。4つのうち3つは「そのセルだけ」で起きる問題で、残りの1つはブック全体にかかる設定です。範囲の違うものを同じ順番で試すと、何をして直ったのかが分からなくなります。

もうひとつ、4つ目の「手動」は症状の出かたがはっきり違います。式が見えたままになるのではなく、数字は出ているのに元データを直しても結果が変わらない。同じ「計算されない」でも画面が別物なので、ここも切り分けの手がかりになります。

確認する場所は、[ホーム]タブと[数式]タブ、それに数式バーの3か所だけです。Microsoft 365でも、Office 2019や2021でも、やることは変わりません。

画面の見え方で、4つの原因のどれかが分かる

最初にやることは、セルをクリックして数式バーを見ることです。

数式バーはリボンのすぐ下にある横長の入力欄で、ここには「セルに実際に入っている中身」が出ます。セルに見えている表示と、数式バーの中身。この2つを見比べるだけで、候補は1つか2つに絞れます。

画面の見え方 疑うもの
シートに入っている数式が、どれもこれも式のまま出ている 「数式の表示」がオン
そのセルだけ式のまま。文字が左端に寄っていて、数式バーの先頭に「’」が付いている 先頭のアポストロフィ
そのセルだけ式のまま。左端に寄っているが、数式バーに「’」は無い 表示形式が「文字列」
式ではなく数値が出ている。ただし元の数字を直しても結果が変わらない 計算方法が「手動」

左寄せかどうかが手がかりになるのは、Excelが数値と文字列で既定の配置を変えているからです。数値なら右寄せ、文字列なら左寄せ。計算されていない数式は文字列として扱われているので、右に寄っていたはずの数字が左端に張り付きます。

ただし、中央揃えや左揃えを自分で設定してある表では、この手は使えません。配置を指定済みの表なら、素直に数式バーだけを見てください。

原因1:セルの表示形式が「文字列」になっている

セルの表示形式が「文字列」になっていると、Excelは入力された内容を計算式ではなく文字の並びとして受け取ります。= で始まっていようが、ただの記号として扱われるわけです。

この状態になりやすいのは3つの場面です。CSVから取り込んだ列、他のブックやWebページからコピーしてきた表、それに「品番や郵便番号の頭のゼロを消したくない」という理由であらかじめ文字列に設定してあった列。3つ目は自分で設定したぶん、いちばん忘れます。

直す手順はこうです。

  • 対象のセルを選ぶ
  • [ホーム]タブの[数値]グループで、表示形式のプルダウンを「文字列」から「標準」に変える
  • そのセルをダブルクリックするか、F2キーを押して編集状態にする
  • 何も変えずにEnterを押す

3つ目と4つ目を飛ばすと直りません。表示形式の変更は「これからどう見せるか」の指定であって、すでにセルへ入っている文字列の中身までは書き換えないからです。F2とEnterで入力し直して、そこではじめて数式として読み直されます。

プルダウンを標準にした瞬間に直らないので「効かなかった」と判断してしまう人が多いところですが、効いていないのではなく、もう一手足りていないだけです。

原因2:「数式の表示」がオンになっている

シートにある数式が、1つ残らず式のまま並んでいる。そのときはExcelの「数式の表示」がオンになっています。

これは不具合ではなく、れっきとした機能です。どのセルにどんな式が入っているかを一覧で確かめたいときや、式の一覧をそのまま紙に出したいときに使います。Microsoftの公式ヘルプでも、数式を表示した状態のまま通常どおり印刷できると案内されています。

やっかいなのは、ショートカットキーで簡単に入ってしまうことです。日本語キーボードでは CtrlShift@ で切り替わります。@キーはEnterの左上あたりにあるので、Ctrlを押しながら打とうとして指が1つ分ずれた、というのがよくある入り方です。

リボンから戻すなら、[数式]タブの[ワークシート分析]グループにある[数式の表示]をクリックしてオフにします。バージョンによっては、このグループ名が[数式監査]と表示されることもあります。

ちなみに英語キーボードでの割り当ては Ctrl`(グレーブアクセント)です。海外のヘルプを翻訳して読むと「そんなキーは無い」となりますが、日本語配列ではその記号がShift+@の位置に来ているだけで、押しているキーは同じです。

参考:Microsoft公式サポート

原因3:数式の先頭にアポストロフィや空白がある

表示形式は「標準」なのに式のまま左に寄っている場合は、式の先頭に余計な文字が1つ紛れ込んでいます。

1つ目はアポストロフィ(')です。Excelでは先頭にこれを付けると「ここから先は文字として扱ってください」という指示になり、'=SUM(B2:B10) は計算されません。数字を文字列として入れたいときに使う、これも本来は便利な機能です。

面倒なのは、このアポストロフィがセルの上には表示されないこと。数式バーを見たときだけ先頭に現れます。セルを眺めているぶんには何も付いていないように見えるので、原因1の「表示形式が文字列」とそっくりに見えてしまいます。

2つ目は空白です。= の前に半角スペースや全角スペースが1つ入っているだけで、Excelは文字列だと判断します。メールやチャットに貼られた式をコピーしてきたとき、先頭のスペースまで一緒に持ってきてしまうのがありがちなパターンです。

どちらもF2キーで編集状態にして、先頭の1文字を消してEnterを押せば直ります。1つずつ消すのが現実的でない数になっているなら、この記事の後半で扱う[区切り位置]でまとめて処理できます。

参考:Microsoft Q&A

原因4:計算方法が「手動」に切り替わっている

ここだけ症状が違います。

式はちゃんと計算結果を返しているのに、参照元の数字を書き換えても合計が古いまま動かない。印刷して配ってから「これ先月の数字のままだ」と気づく…という事故は、この状態で起きます。

戻し方そのものは簡単で、[数式]タブの[計算方法の設定]から[自動]を選ぶだけです。いますぐ計算し直したいときは、F9キーで開いているブック全部、Shift+F9キーで作業中のシートだけを再計算できます。

問題は、自分で手動にした覚えがないのに手動になっていることのほうでしょう。これはMicrosoftの資料に理由がはっきり書かれています。Excelは、最初に開いたブックの計算モードを、あとから開いたブックすべてに適用します。

つまり、誰かから受け取った手動設定のブックを先に開いてしまうと、そのあとに開いた自分のブックも手動になります。逆に自動のブックを先に開いていれば、手動で保存されたブックを開いてもそちらが自動側に引っぱられます。1つのブックで設定を切り替えると開いている全部のブックが道連れになる点も、ブック内の全シートが同じモードになる点も同じ仕組みです。

設定の違うブックを同時に扱いたいなら、開く順番を先にそろえるか、いったん全部閉じてから開き直すしかありません。設定がブックをまたいで伝染するとは普通思わないので、目の前のファイルの中だけを探していると、いつまでも原因にたどり着けない種類のトラブルです。

参考:Microsoft Learn

文字列になった数式を列ごとまとめて戻す

1つか2つならF2とEnterで足りますが、300行の表が丸ごと文字列になっていたら、それでは日が暮れます。

そういうときは[データ]タブの[区切り位置]を使います。名前のとおり本来は1つのセルの文字列を複数の列へ分割する機能ですが、分割せずにそのまま完了させると、選んだ列の中身を入力し直したのと同じ結果になります。

  • 対象の列を1列だけ選ぶ
  • [ホーム]タブで、その列の表示形式を「標準」にしておく
  • [データ]タブの[区切り位置]をクリックする
  • 1画面目は「カンマやタブなどの区切り文字によって……」を選んだまま[次へ]
  • 2画面目は区切り文字のチェックをすべて外して[次へ]
  • 3画面目で列のデータ形式が「G/標準」になっているのを確認して[完了]

これだけで、300行が一気に数式へ戻ります!

表示形式を変えただけでは直らないのに区切り位置なら直るのは、この操作がセルへの再入力にあたるからです。表示形式はあくまで見せ方の指定で、中身には手を触れません。区切り位置は中身そのものを入れ直すので、文字列だった式が本物の数式として解釈されます。

1つ注意があります。区切り位置は一度に1列しか処理できません。複数の列にまたがって文字列化しているなら、列の数だけ繰り返すことになります。それでも1セルずつよりはずっと速いはずです。

参考:Microsoft Q&A

まとめ

4つの原因は、直し方より先に「どこまで巻き込まれているか」で分かれます。

シートじゅうの式が見えているなら「数式の表示」、そのセルだけなら表示形式か先頭のアポストロフィ、結果は出ているのに更新されないならブック全体の計算方法。セルをクリックして数式バーを見る、それだけで候補が1つか2つに絞れるので、直し方を片っ端から試す必要はありません。

手を動かす順番も決めておくと迷わずに済みます。まず数式バーを見て、先頭に ' が付いていればそれを消す。付いていなければ表示形式を「標準」にしてF2とEnter。シートじゅうが式だらけなら CtrlShift@。どれにも当てはまらないなら[数式]タブの[計算方法の設定]を見る、という流れです。

4つのうち、私がいちばん覚えておく価値があると思っているのは計算方法です。表示形式もアポストロフィもそのセルを見れば分かりますが、計算モードだけは最初に開いたブックに引きずられるので、目の前のファイルをいくら調べても答えが出てきません。誰かのブックを開いたあとに自分の集計が更新されなくなったら、真っ先に[計算方法の設定]を疑うのが近道でしょう。

式そのものが壊れているケースは、体感としてそれほど多くありません。数式を書き直したり関数を調べ直したりする前に、この4か所を見るほうが早く終わります。

それと、厄介者に見えた「数式の表示」は、普段の検算にそのまま使えます。式を全部表示した状態で印刷すれば、どのセルにどの式が入っているかを紙の上で追える。合わない表を渡されたときは、画面でセルを1つずつクリックして回るより、こちらのほうが早く済みます。

この記事をシェア

コメントを書く

投稿は管理人が確認したあとで表示されます。