Menu

Excelの数式が計算されない・反映されない原因と直し方

結果ではなく数式が表示されるなら、セルが文字列の表示形式になっているか、数式がアポストロフィやスペースで始まっているか、「数式の表示」がオンです。結果が更新されないなら、計算方法が手動です。数式 > 計算方法の設定 > 自動 にします。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

Excelで数式が結果ではなく文字列として表示されるときは、セルが文字列の表示形式になっているか、数式がアポストロフィ('=B2*C2)やスペースで始まっています。アポストロフィやスペースを取り除くか、セルを標準にしてから、セルをクリックしてEnterを押します。シートのすべての数式が文字列として表示されるなら、「数式の表示」がオンなので、Ctrl+`を押してオフにします。数値を編集しても結果が変わらないなら、計算方法が手動です。数式 > 計算方法の設定 > 自動を選びます。

文字列でしかない数式
D2
ABCD
1ItemPriceQtyTotal
2Desk2402=B2*C2
3Chair854 =B3*C3
4Lamp403120
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

D2とD3は数式そのものを表示しています。D2はアポストロフィで始まっていて、これはExcelに「これは文字列だ」と伝えるもので、セルの中では見えません(数式バーには表示されます)。D3は=の前にスペースがあります。数式になっているのはD4だけで、120を表示します。D2をクリックしてアポストロフィを削除し、セルを=B2*C2にしてEnterを押すと、480が表示されます。

セルが文字列の表示形式になっている

文字列の表示形式のセルは、数式も含めて入力したものをそのまま保持します。先頭の0を残すために列を文字列にしたときや、取り込みで列の種類が文字列になったときに起こります。

  1. セルを選択してホーム > 数値の書式 > 標準(「数値」グループのドロップダウン)を選びます。
  2. 表示形式を変えるだけでは足りません。Excelが数式を読むのは入力されたときだけです。各セルをクリックして(またはF2を押して)Enterを押します。
  3. 列全体なら、列を選択してデータ > 区切り位置 > 完了を使います。すべてのセルを一度に入力し直します。

同じ手順で、文字列のセルに入力されて合計されない数値も直せます(次の次の節を参照)。

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

シートのすべての数式がその文字列を表示しているなら、「数式の表示」がオンになっています。数式 > 数式の表示、またはCtrl+(Escの下のキー、MacではControl+)です。もう一度押すと元に戻ります。うっかり押しやすいキーです。

結果か数式か
D2
ABCD
1ItemPriceQtyTotal
2Desk2402480
3Chair854340
4Lamp403120
5Total940
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

このシートの上のFormulasをクリックしてください。Excelの「数式の表示」と同じように、すべてのセルが数式を表示します。もう一度クリックすると、480、340、120と合計の940が表示されます。このモードはブックではなくシートごとの設定なので、ほかのシートは結果を表示したままのことがあります。

文字列として保存された数値: SUMが0や少なすぎる値を返す

数式は正しいのに、足している数値の一部が文字列です。SUMはエラーなしに文字列を飛ばすので、合計がただ少なくなります。

2つの数値が文字列
B7
ABC
1MonthSalesType
2Jan120number
3Feb80text
4Mar95number
5Apr60text
6
7Total215
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

B7は1月と3月だけの合計、215を表示します。Excelでは文字列の数値はセルの左に寄っていて、緑色の三角形が付いています。選択して警告アイコンをクリックし、数値に変換するを選びます。変えられない元データから更新されるなら、このページの最後の課題のように数式の中で変換します。すべての方法は文字列を数値に変換するのページにあります。

計算方法が手動になっている

手動モードでは、再計算するまで数式は古い結果のままです。シートは問題なさそうに見えますが数値は古く、下にコピーした数式はどの行でも1行目の結果を表示します。

  • 元に戻す:数式 > 計算方法の設定 > 自動。
  • 切り替えずに一度だけ再計算する:開いているすべてのブックはF9、アクティブなシートはShift+F9、すべての数式を再計算するならCtrl+Alt+F9。MacではCmd+=とShift+Cmd+=です。
  • データテーブル以外自動では、データテーブル(What-If分析)も古いままになります。

手動モードはうつります。Excelはセッションで最初に開いたブックから計算方法を受け継ぐので、手動で保存されたファイルを開くと、その後に開くものがすべて切り替わります。とても大きなブックでは、編集のたびに再計算されないよう、わざと手動にしていることがあります。そのときは結果が古いとステータスバーに再計算と表示されます。

計算はされるが、期待どおりではない数式

「数式が動かない」という悩みでも、Excelは書かれたとおりに正確に計算していることがあります。よくあるケースが3つあります:

  • 数式をコピーしたときに動いた参照。 1つのセルにある率を$なしで読むと、数式と一緒に下にずれ、下の行は空のセルを掛けることになります。
  • 循環参照。 数式が自分の結果に依存していて、Excelは0を表示し、ステータスバーに警告を出します。循環参照を参照してください。
  • 数値の代わりのエラー名。 綴りを間違えた関数の#NAME?などです。各エラーにはこの章にそれぞれのページがあります。
下にずれる率
D3
ABCDEF
1ItemPriceWith taxTax rate
2Desk24028820%
3Chair8585
4Lamp4040
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

D2は正しい(288)のに、D3は85、D4は40を表示します。その数式は空のF3とF4を読んでいるので、税が0になっています。D2をクリックしてF2を$F$2に変えると、列全体がそれに合わせて変わります。理由は絶対参照で説明しています。

文字列として保存された数値を合計する

文字列として保存された数値を合計する
B6
AB
1MonthSales
2Jan120
3Feb80
4Mar95
5Apr60
6Total
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: 2月と4月は文字列として取り込まれたので、=SUM(B2:B5)ではそれが漏れます。B6に、4か月すべてを足す数式を書いてください。

--(マイナス記号2つ)は各値を数値に変えます。数値に見える文字列は変換され、本物の数値はそのままです。=SUMPRODUCT(B2:B5*1)や=SUM(VALUE(B2:B5))も同じように動きます。数式が正しければ、セルのいくつが文字列でも動き続けます。

よくある質問

Excelで結果ではなく数式が表示されるのはなぜですか?

数式を入力する前にセルが文字列の表示形式になっていたか、数式がアポストロフィやスペースで始まっているか、「数式の表示」がオンになっています。表示形式を標準にし(ホーム > 数値の書式 > 標準)、セルをクリックしてEnterを押します。シートのすべての数式が文字列として表示されるならCtrl+`を押します。

Excelの数式が自動で更新されないのはなぜですか?

計算方法が手動になっています。数式 > 計算方法の設定で自動を選びます。それまではF9でブックを、Shift+F9でアクティブなシートを再計算できます。手動で保存されたブックを開くと、その後に開くすべてのブックも手動に切り替わります。

合計から一部の数値が漏れるのはなぜですか?

それらの数値が、取り込みの後などに文字列として保存されていて、SUMはエラーなしに文字列を飛ばすからです。たいていセルの左に寄っていて、隅に緑色の三角形が付いています。選択して警告アイコンをクリックし、数値に変換するを選ぶか、=SUMPRODUCT(--B2:B5)で合計します。

Excelに強制的に再計算させるには?

F9を押すと開いているすべてのブックを、Shift+F9でアクティブなシートを再計算し、Ctrl+Alt+F9はExcelが何も変わっていないと判断していてもすべての数式を再計算します。MacではCmd+=で再計算し、Shift+Cmd+=でアクティブなシートを再計算します。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める