• ベストアンサー

エクセル 切捨てや、四捨五入で出た値の集計式

切捨てや、四捨五入で出た値を集計すると、多少の誤差が出る場合があります。どの様な数式にすればいいでしょうか。例題を下記にしるしましたので具体的に教えて下さい。     A          B         C 1   293,500      17,610 2   349,750      2,099       15,512 A1とA2は既定値。B1は、TRUNC(A*0.006,0)で小数点以下切捨て。 B2は、SUM(A2*0.006)で小数点以下四捨五入。 C2は、SUM(B1-B2)。 C2の正解は15,511ですが、1多い答えがでます。

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

  • ベストアンサー
noname#79195
noname#79195
回答No.2

ROUND関数を使えば、誤差は出ないと思いますが。 SUM(A2*0.006)の式ですと、見た目は2,099でも値としては2,098.5なので、誤差が出ます。 ROUND(A2*0.006,0)にして下さい。カンマの後は小数点第何位を四捨五入するかです。 ちなみに、切り上げはROUNDUP、切捨てはROUNDDOWNです。

fuzi1951
質問者

お礼

ありがとうございました。大変助かりました。ROUNDで統一すれば誤差が出無い訳ですね。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

すまん、良く見たら全然違う話していたorz #3さんに従ってください。

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>B2は、SUM(A2*0.006)で小数点以下四捨五入。 四捨五入なら ROUND(A2*0.006,0) ですね。SUM(A2*0.006)は集計するだけなので、見かけは2099ですが実際は2098.5です。 ゆえに C2=B1-B2=17610-2098.5=1511.5となり小数点以下の表示なしだと四捨五入で1繰り上がります。 後、B1ですが本当にTRUNC(A1*0.006,0)でしょうか、この結果だと1,761が答えになります。 TRUNC(A1*0.06,0) と係数が違うのでは?ご確認ください。

fuzi1951
質問者

お礼

ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.1

Excel 2000 再現しない A1 = 293500 A2 = 349750 B1 = TRUNC(A1 * 0.006,0) = 1761 B2 = TRUNC(A2 * 0.006,0) = 2098 ★値が質問者様と異なる C2 = SUM(B1 - B2) = -337 ★わざわざSUM関数にする理由がわからん。 A1を一桁間違えたとしても A1 = 2935000 A2 = 349750 B1 = TRUNC(A1 * 0.006,0) = 17610 B2 = TRUNC(A2 * 0.006,0) = 2098 ★値が質問者様と異なる C2 = SUM(B1 - B2) = 15512 ★わざわざSUM関数にする理由がわからん。

すると、全ての回答が全文表示されます。

専門家に質問してみよう