IT

エクセルの小数点の取り扱いには要注意です

みなさんこんにちは。
内山で雅人です。

ビジネスシーンで最も使われているソフトといえばエクセルでしょう。

エクセルは表計算ソフトといわれ、表計算機能のほかに、文書作成機能、データベース機能、グラフ作成機能、プログラミング機能等、様々な機能があり、複雑な使い方をすればこのソフトひとつでほとんどの仕事を網羅できます。

新規ファイルを開くとすでに表計算のシートが表示されますので、すぐに使えるのも魅力のひとつです。

初心者でも数値や文字をセルに打ち込んで始めることができますが、気をつけなければならないのが

「表記されている数値と実際に入力されている数値が違う場合がある」

ということです。

これを知らずに計算を進めると、気が付かないうちに大きな計算違いをしてしまうことにもなりかねません。

行の幅を縮めたときの注意~最もおかしやすいミス~

まずは下のエクセルの図をご覧ください。


A列とB列に入力された数値の合計をC列に式を入力して算出していますが、
2行目と4行目に同じ数字が並んでいます。

48.9 + 13.3 = 62.2

しかし、実はA列とB列に入力されている数値は以下のとおりです。

  • 2行目 48.85 +13.31 = 62.16
  • 4行目 48.9 + 13.3 = 62.2

合計値に0.04の差が生じていますが、このデータは行幅を広くすることで表記されました。

これは、

「エクセルでは小数点以下の桁数が行幅を超えた場合四捨五入した値が表記される」

という機能のためです。

つまり、

「目視されているデータが計算等のもととなる実際の入力データとは限らない」

ということなのです。

数値を閲覧している分には優れた機能だと思いますが、たとえば、少数第1位までのデータをもとに次の計算を進めていく必要があるとき等に、実際の入力データの確認をせずに作業をしていくと、どんどん計算結果がずれていってしまいます

ユーザー定義している場合も同じことが生じる

下の図をご覧ください。

列幅は十分にありますが2行目と4行目に同じ数値が並んでいます。
しかし、このデータも先程と同じように以下のデータが入力されています。

  • 2行目 48.85 +13.31 = 62.16
  • 4行目 48.9 + 13.3 = 62.2

エクセルには
(右クリック)→「セルの書式設定」→「ユーザー定義」 から

数値の表記のみを変更して指定することができる

という機能があり、図に示したように
ユーザー定義の「種類」欄

##.#

という記号が入力されています。

これは、

「少数点第2位を四捨五入して小数点第1位まで表示しなさい」

という意味です。

つまり、列幅を短くしたときと同じように見えているデータと入力されているデータが違うということが生じます。

ご自身で設定したときは間違わないかもしれませんが、他の人が設定したシートを使うときなどは注意が必要でしょう。

セルを選択した際に上部にあるfx欄を見ていただくことで実際の入力データを確認することができます。

小数点の有効桁数を決定するためにはROUND関数を使う

それでは、入力された数値の小数点の桁数を固定するためにはどうしたら良いのでしょうか。

ROUND関数を使います。

この関数は、

「指定した小数点の位で四捨五入する」

というものです。

たとえば以下のように入力します。

C2には

=ROUND(A2,1)

という関数が入力されています。
これは、「A2のデータを小数点第2位で四捨五入しなさい」という意味です。

同じように、D2には「=ROUND(B2,1)」が入力されており、

E2の合計欄には「=C2+D2」が入力されています。

このようにすることで、A列、B列に小数点の桁数が多いデータが入力されていても1桁目まででくくられたデータをもとに合計を出すことができます

まとめ

まとめ
  • エクセルのセルに表示されている数値が実際に入力されている数値とは限らない。
  • 小数点の桁数をくくるためにはROUND関数を使う。
RELATED POST