• ベストアンサー

エクセルの関数について

初歩的な質問ですみません。 表の中で小計が二つ(仮にA、Bとします)、その二つの合計が一つ(仮にGとします)あります。 AもBも小数点以下を四捨五入しているため、時々GがAとBの表記の合計と1円合わなくなることがあります。  AとBはROUND関数を使っている為だと思います。 この誤差をなくす為,知っている関数のINT(sum関数+0.5)で末尾を切り捨てて誤差が出ないようにしていますが、もっと良い方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>    項目   実際の値  四捨五入した値 >    小計A   1234.4    1234 >    小計B    678.4     678 >    合計    1912.8    1913 >となる場合、四捨五入後の数値の合計1912にしたいのです。 単純に =ROUND(小計A,0)+ROUND(小計B,0) とすれば良いです。 ここで重要なのは「2つをROUNDで四捨五入してから足している」と言う事。 以下の2つの式は「結果が異なる」ので注意して下さい。 =ROUND(小計A,0)+ROUND(小計B,0) =ROUND(小計A+小計B,0) =ROUND(小計A,0)+ROUND(小計B,0) では、1234.4が1234になり、678.4が678になってから、1234+678=1912が求められます。 =ROUND(小計A+小計B,0) では、1234.4+678.4が足されて1912.8になり、1912.8が四捨五入されて1913になります。 なお、おおもとの小計がどっちも四捨五入済みで、1234と678になっているなら、単純に足し算すれば1912になる筈です。

arytuyobi
質問者

お礼

ありがとうございます。大変良くわかりました。 ROUNDの使い方だったんですね。 これまでの苦労がうそのようですが、本当に助かりました。

その他の回答 (3)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

うまく伝わっていないようなので、A、B、G、それぞれの実際の計算式を提示してみてはいかがですか? Gを、四捨五入後のAの値と、四捨五入後のBの値の合計にすれば、誤差は無くなると思いますけど。

arytuyobi
質問者

お礼

ありがとうございました。 これからは、質問の仕方に注意します。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

そうですね。 小計をさらに1で割ってみてはどうでしょう。 小計に入っている数式の後ろに「/1」を加えてみて、合計は普通にSUMで如何ですか?

arytuyobi
質問者

お礼

やってみましたが・・・ 私の説明が悪かったみたいです。 すみません

回答No.1

現状は、 項目  実際の値  四捨五入した値 小計1 1234.5    1235 小計2 678.9     679 合計  1913.4    1914 となり、実際の合計が1913.4なのに1914になってしまう、と言うのが問題なのですよね? この場合、AとBの値を四捨五入してはいけません。 AとBの「セルの書式指定」を「数値、小数点以下の桁数 0桁」にします。 Gは、そのままA+Bにして、同じく、セルの書式指定で小数点以下の桁数を0にします。 こうすると、 項目  実際の値  表示される値 小計1 1234.5    1235 小計2 678.9     679 合計  1913.4    1913 のようになります。 以下、蛇足ですが、もし、 項目  実際の値  四捨五入した値 小計1 1234.5    1235 小計2 678.9     679 合計  1913.4    1913 になってしまって「1235と679を足したら1914になる筈なのに、1913になるのが問題だ」とお考えなら、それは間違いです。 この場合、合計は「1913」となるのが正しく、1914ではありません。

arytuyobi
質問者

お礼

すみません。説明不足でした。 上記の例を使わせていただきます。     項目   実際の値  四捨五入した値     小計A   1234.4    1234     小計B    678.4     678     合計    1912.8    1913 となる場合、四捨五入後の数値の合計1912にしたいのです。 回答いただいた場合ですと合計は1235+679の1914と表記したいのです。 再度、教えてください。

関連するQ&A