「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

Excelで計算したはずなのに、

  • 合計が 0.01 合わない

  • 見た目は同じ数値なのに 計算結果がズレる

  • SUMすると 期待と違う結果になる

こうした「小数のズレ」は、Excelを使っていると誰でも一度は遭遇します。
原因は入力ミスではなく、Excel内部の計算仕様にあります。

本記事では、
なぜズレるのか → どこで起きるのか → どう防ぐのか
を実例つきでわかりやすく解説します。


小数のズレが起きる根本原因

原因①:Excelは2進数で計算している

原因①:Excelは2進数で計算している

Excelは見た目が10進数でも、内部では 2進数(バイナリ) で計算しています。

例えば以下の数値:
表示値内部的な実数
0.1正確に表現できない
0.2正確に表現できない
0.30.1 + 0.2 の結果がズレる

その結果、


のような誤差が内部で発生します。


原因②:表示と計算は別物

Excelで小数点以下を非表示にしても、内部では元の値のまま 計算されています。

例:

表示
1.2341
2.3452

見た目は

ですが、内部では

となり、合計が合いません。


原因③:SUMと個別計算の順序差

は、計算順序が異なるため誤差が変わる 場合があります。

特に金額・割合・単価計算で起きやすいポイントです。


よくあるズレの実例

ケース①:金額合計が1円合わない

  • 単価 × 数量 を各行で計算

  • 表示は整数

  • 合計すると ±1円ズレる

→ 内部の小数誤差が蓄積している


ケース②:IFやVLOOKUP後にズレる

条件分岐や参照関数を通すと、
計算結果が微妙に変化することがあります。


Excelの小数ズレ対処法(実務向け)

対処法①:ROUND関数で明示的に丸める

最も確実でおすすめ。

  • 金額:2桁

  • 割合:3〜4桁

「計算途中で丸める」 のがポイントです。


対処法②:表示形式ではなく数式で制御

NG例:

表示形式で小数点以下0桁

OK例:

見た目だけの丸めは危険です。


対処法③:整数化して計算する(最強)

金額処理では特に有効。

または、最初から「円」「銭」「ポイント」単位で管理。


対処法④:PRECISION AS DISPLAY(非推奨)

Excelオプションにある
「表示桁数で計算する」

  • 既存データが破壊される

  • 元に戻せない

実務では 基本使わない 方が安全です。


ズレを防ぐ設計ルール(重要)

ルール内容
丸めは数式で表示形式に頼らない
合計前に丸め行単位で処理
金額は整数管理円・ポイント単位
比率は桁固定ROUNDで統一

まとめ

Excelの小数ズレは バグではなく仕様 です。

  • 原因:2進数計算

  • 表示と計算は別

  • 放置すると金額・集計で事故る

だからこそ、

「意図した桁で、自分で丸める」

これがExcelを安全に使う最大のコツです。

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る

Ads by Google

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x