数値を丸める時に誤差
数値を丸めるとは、
数値データを四捨五入/切り捨て/切り上げなどで桁を繰り上げ、扱いやすい桁に整えることを言います。
セルの書式設定で数字を丸めて使用する時に誤差が生じる!!
数値データを丸める方法としては、大きく二つの方法に分類できます。
・数値をセルの書式設定で、表示のみを丸める方法
元の値はそのまま残るので、元の値を再利用する時にはこの方法が便利です。
特に、割合などの概数を集計し概数で表示する場合などにこの方法を使用します。
・関数で値を丸める方法
関数で元の値を書き換えるため、元の値は使用できなくなります。
概数では取り扱うことができない様な時にこの方法が便利です。
お金などを集計する場合にこの方法を使用します。
二つの方法にはそれぞれ利点があり、場合によって使い分けるのが最善の対策です。
よく、金の集計をする際にセルの書式設定設定で丸めて処理されているのを見かけます。
この方法だと、見た目の集計と実際の集計の間に誤差が生じることがあります。
こんな時、担当者は誤差が生じていることに気が付いているのでしょうか?
1000円や10000円単位で丸める際にも、少数の場合と同様の誤差が生じることがあります。
この誤差は大きな損失を生む可能性があるので要注意です。
誤差が引き起こす問題は、小数だけの問題だけではないということを認識しておいてください。
お金の計算の時に要注意!!
「誤差を丸める際に誤差が生じることがある。」と言っても、理解しづらいと思います。
よくある事例をもとに考えてみましょう。
Aさんは、忘年会の幹事をすることになりました。
みんなに、「年間10,000円を積み立てよう」と全員に提案するための資料を作成しました。
10,000円を12カ月で分割すると、「833.3333・・」で割り切れません。
しょうがないので、書式の設定で小数部分を非表示にして対応しました。
Excelで個人の合計すると、1年の徴収額が10,000円となり問題ないと判断しました。
早速、「月々833円徴収になります」という見出しをつけて、印刷し全員に配布しました。
すると、みんなから「この年間積立金の計算は、おかしくないか?」と問い合わせがありました。
さあ、Aさんの計算はどこが悪かったのでしょうか?
ページトップへ
Aさんが犯したミスは、小数が出た数値を単純に表示形式で見えないようにしたことでした。
表示形式を変更し、「833」としか見えなくても、実際にセルには「833.3333・・」が格納されており「0.333・・・」の誤差が発生することになります。
1カ月だと、1円にも満たない誤差ですが、1年になると4円の誤差が生じてしまいます。
ここは、どうすれば良かったのでしょうか?
金銭的な集計は、表示形式でごまかすのではなくROUND関数等で誤差分を取り除くべきだと思います。
月積立金額=ROUNDDOWN(10000/12,0)=833
(切り捨ての関数:ROUNDDOWN関数を使用)
料金(金銭)の計算の場合は、関数で丸めるのが誤差を回避できる
×書式の設定で小数以下を表示しなくすると誤差の原因
○ROUND関数などで数値自体を加工すべき
丸めるのに利用する関数としては
ROUND関数、ROUNDDOWN関数、ROUNDUP関数、CEILING関数、FLOOR関数などがあります。
統計データなどの割合を取り扱う場合は、セルの書式設定で丸めた方が良い
数値は、表示スペースの関係で、便宜上四捨五入してデータを丸めて表示します。
割合などを集計する場合(割合のトータルは100%にならなければなりません。)
その様な場合は、逆に書式の設定で表示形式を設定した方が向いています。