【Excel】エクセルでの計算結果・数式の表示がおかしい原因と対処法(小数点・平均・時間の引き算も)
エクセルで数式を入力したのに計算結果がおかしい、小数点の扱いが意図と違う、平均値がずれている、時間の引き算がうまくいかない。そんな経験をした方は少なくないでしょう。
エクセルの計算トラブルは数値の型・表示形式・浮動小数点の誤差・参照方式の設定など、さまざまな原因によって発生します。本記事では計算結果・数式の表示がおかしい場合の原因と対処法を、具体的な事例とともに解説していきます。
数式の計算結果がおかしい原因と基本的な対処法
それではまず、数式の計算結果がおかしくなる主な原因と基本的な対処法について解説していきます。
数値が文字列として格納されていて計算されない
セルに数値が入力されていても、文字列として格納されている場合はSUM・AVERAGE等の計算関数がその値を無視します。セルの左上に緑の三角が表示されているセルは文字列として格納されている可能性があります。
対処法1:VALUE関数で文字列を数値に変換する
=VALUE(A1) → A1の文字列を数値に変換する
対処法2:空白セルに1を入力→コピー→文字列セルに「形式を選択して貼り付け」→「乗算」で数値化する
自動計算が無効になっていて数式が更新されない
エクセルの「自動計算」が手動に設定されていると、セルの値を変更しても数式が再計算されません。
確認・修正手順:
1. 「数式」タブをクリックする
2. 「計算方法の設定」を確認する
3. 「手動」になっている場合は「自動」に変更する
4. 即時再計算する場合はF9キーを押す
数式がそのまま文字として表示される場合
「=SUM(A1:A10)」のように数式がそのまま表示される場合は、セルの書式が「文字列」になっているか、数式の先頭にスペースが入っているなどが原因です。
対処法:
1. セルの書式を「標準」または「数値」に変更する
2. セルをダブルクリックして編集モードにし、Enterを押して再確定する
小数点・ROUND関数の計算結果がおかしい場合
続いては、小数点を含む計算結果がおかしくなる原因と対処法を確認していきます。
浮動小数点演算による誤差の発生
エクセルは内部的に浮動小数点演算を使用しているため、小数を含む計算で微小な誤差が発生することがあります。例えば、「=0.1+0.2」の結果が0.3ではなく0.30000000000000004になるケースが代表的です。
対処法:ROUND関数で桁数を指定して丸める
=ROUND(0.1+0.2, 1) → 0.3(小数第1位に丸める)
表示形式と実際の値のズレによる集計ミス
セルの表示形式で小数点以下を非表示にしていても、実際の値は小数点以下を保持しています。このため、見た目上は整数に見える数値を合計すると、表示値の合計とSUMの結果が一致しないことがあります。
表示値と計算値のズレを防ぐには、あらかじめROUND関数で値を丸めるか、「ファイル」→「オプション」→「詳細設定」の「表示桁数で計算する」をオンにする方法があります。ただし後者は元の精度が失われるため注意が必要です。
AVERAGE関数の結果がおかしい場合
AVERAGE関数が期待通りの結果を返さない場合は、空白セルと0(ゼロ)の扱いの違いに注意が必要です。AVERAGEは空白セルを無視しますが、0は計算に含めます。0を無視した平均を求めたい場合はAVERAGEIF関数を使いましょう。
=AVERAGEIF(A1:A10,”0″) → A1:A10のうち0以外のセルの平均を計算する
時間の引き算・時間計算の結果がおかしい場合
続いては、時間の引き算や時間計算の結果がおかしくなる原因と対処法を確認していきます。
マイナスの時間が「######」で表示される
退勤時間から出勤時間を引く計算で、結果がマイナスになった場合に「######」や「-(マイナス)」が表示されることがあります。これはエクセルのデフォルト設定ではマイナスの時間を表示できないためです。
対処法1:「ファイル」→「オプション」→「詳細設定」→「1904年から計算する」をオンにする
(ただしほかの日付データに影響するため注意が必要)
対処法2:TEXT関数とIF関数を組み合わせてマイナス時間を文字列で表示する
=IF(B1-A1<0,"-"&TEXT(ABS(B1-A1),"h:mm"),TEXT(B1-A1,"h:mm"))
24時間を超える時間の合計が正しく表示されない
週の合計勤務時間など、24時間を超える時間を合計すると「1:30」(25時間30分のつもりが1時間30分に見える)のように表示されることがあります。
対処法:表示形式を「[h]:mm」に変更する
1. 時間の合計セルを選択する
2. 「セルの書式設定」→「ユーザー定義」→「[h]:mm」と入力してOKをクリックする
3. 「[h]」と角括弧で囲むことで24時間を超えた時間も正しく表示される
時間の単位変換(分・秒への換算)がおかしい場合
エクセルの時間は内部的に1日を「1」とするシリアル値で管理されています。時間を分や秒に換算するには以下のようにします。
時間→分への換算:=A1*24*60
時間→秒への換算:=A1*24*60*60
または:=HOUR(A1)*60+MINUTE(A1) → 時間と分を組み合わせて総分数を求める
まとめ
本記事では、【Excel】エクセルでの計算結果・数式の表示がおかしい原因と対処法として、小数点の誤差・平均値のズレ・時間計算のトラブルまで詳しく解説しました。
計算トラブルの多くは数値の型・表示形式・計算方法の設定に起因しています。まずはセルのデータ型と表示形式を確認する習慣をつけることで、多くのトラブルを未然に防ぐことができるでしょう。