Excel2003で四捨五入した値のSUMを計算する方法

このQ&Aのポイント
  • Excel2003で利用しているワークシートで、SUM関数を使用する際に問題が発生しました。
  • ワークシートでは小数点第一位で統一して表示されるため、SUM計算が元の数で行われてしまいます。
  • 他の方法を探しましたが、シートを作成して代入する方法が唯一の解決策でした。
回答を見る
  • ベストアンサー

四捨五入した値のSUM計算(Excel2003)

ある数の平均値と合計値のワークシートを仕事で使っているのですが、 そのワークシートでは複数のシートからさまざまなセルの内容を 読み込んで、データを表示するワークシートです。 そのワークシートを改変している途中、次のような問題に ぶちあたってしまい、皆さんのアドバイスをいただきたいと思います。 問題とはSUM関数についてです。 そのシートでは、小数点第一位ですべて統一して表示するため、 全てのセル設定の会計で小数点第一位に統一するように設定しています。 つまり、小数点のない整数ならば3.0といった形で0がつけられ 逆に小数点が2桁以上の場合は四捨五入されます。 3.564→3.6 そのセルでSUM計算を行うと、画面に表示されていない数 (四捨五入される前の元の数)で計算されてしまい、 その計算結果が四捨五入されてしまいます、 そうではなく、すでに四捨五入した値を計算したいのです。 相当調べてみましたが、他にシートをつくり一度そこに 代入し、その内容をさらに代入する方法しかありませんでした。 それ以外の方法でお願いします。 わかりにくいと思いますので、図を添付します。参考にしてください。

noname#176819
noname#176819

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 一例です。 ↓の画像でA列を小数第1位の四捨五入したものが、B列に入っています。 B2の数式は =ROUND(A2,1) としてオートフィルで下へコピーしています。 B12セルはその四捨五入したものを合計しただけです。 結局このB12セルの数値を一度に表示したいということですよね? C12セルに配列数式で =SUM(ROUND(A2:A10,1)) 数式を入力後、Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 これで各セルを四捨五入したものの合計が表示されると思います。 以上、参考になれば幸いですが 他に良い方法があれば読み流してくださいね。m(__)m

noname#176819
質問者

お礼

ありがとうございます!! 見事に望んでいた通りのことができました。 これで徹夜せずに済みそうです。Excelには配列変数という 便利な機能があることを知ることができてとてもよかったです。 本当にありがとうございました。

その他の回答 (4)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.5

元のデータが失われてもよいなら、 ツール―オプション―計算方法で、 「表示桁数で計算する」にチェックを入れて「OK」とすれば、 表示されている桁数で計算します。この場合、表示桁数より小さい桁は削除される(1.323→1.3になる)ので、元のデータに戻すことはできません。

  • pthread
  • ベストアンサー率42% (3/7)
回答No.4

元の値をそれぞれ四捨五入してから合計すると、元の値を合計してから四捨五入した時とは違った結果(より不正確な結果)になりますが、そういう結果を期待されているのでしょうか? 仮にそうだとして。 小数点第一位までで四捨五入した結果は、 =ROUND(元のセル,1) で得られます。 元のセルの隣にでも上記を求めるセルを追加し、これをSUMで合計すればお望みの結果となると思います。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! たびたびごめんなさい。 画像を確認させていただき、実際に表内の数値を小数点第2位で四捨五入し、 小数点第1位表示にさせ、それを合計すると 1行目が13.3 2行目が17.6 3行目はそのまま21.5 になりましたが それで良いのであれば 前回の配列数式が使えると思います。 合計のF1セルに =SUM(ROUND(A1:E1,1)) としてShift+Ctrl+Enterキーで確定し、 F1セルをそのまま下へオートフィルでコピーしてみてください。 表内のそれぞれのセルを四捨五入したものの合計が表示されると思います。 尚、合計値自体が違うのであれば 他の方法になると思います。 どうも何度も失礼しました。m(__)m

  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.1

四捨五入を表示形式で表すから表示桁以下の数値の累計が計算に乗ってきます。 sumなどを使う場合は、各行の計算で必要数値を出すように工夫してください。 小数点2桁の取得の場合 =int(ある数*100)/100 など その他いろいろ出来ます。

関連するQ&A

  • 四捨五入について

    とあるテキストに、3.848を四捨五入して小数点第一位まで求めると、3.8になる、と書いてあります。しかし、3.848の小数点第三位の8を四捨五入すると、3.85になり、これを更に四捨五入すると、3.9になるように思うのですが、いかがでしょうか?

  • 四捨五入の計算式は?

    エクセルで、小数点3位を切り捨ての計算式が↓です。 =ROUNDDOWN((RC[-8]*RC[-6])+(RC[-4]*RC[-2]),2) 小数点3位を四捨五入する場合の計算式は?どのようにすればいいのでしょうか?

  • エクセル 四捨五入??

    エクセルで計算しセルの書式設定で小数点3位までにしたばあい4位のは四捨五入されて繰り上がってしまうのでしょうか?

  • エクセルの四捨五入で

    エクセルでセルに[=5/2]と入力すると2.5となります。 小数点以下の桁数を0にすると四捨五入されて3になります。 このセルを2つ作ると「3」が2つ表示されますがドラッグして右下に合計を表示させると「5」と表示されます。 このときに四捨五入された後の合計すなわち「6」と表示させることはできないでしょうか。

  • エクセルで四捨五入した値を計算

    エクセルでダイエット記録表を作成して肥満度指数(BMI)を算出してます。計算式はエラー表示を出さないようにIFERROR関数を使用しています。値は小数点第2位四捨五入で算出しており、その四捨五入した値に対してさらに計算し四捨五入したいのです。 A1:体重、A2:身長、A3:BMI、A4:目標BMI といった感じです。 例えばA1:86.0、A2:182.0ですとA3:BMI 25.96なので四捨五入して26.0と表示させています。その26.0の値に対して0.96掛けて24.96→25.0と四捨五入表示させたいのです。しかしA3:26.0ではなく実際25.96に対して0.96掛けてしまうため24.92→24.9と表示してしまうのです。 この記録表は社内で回付するためエラー表示は避けたいのでどなたかいい解決方法を早急にお願い致します。!!

  • 計算結果値そのものの切り捨て、四捨五入

    EXCEL97で割り算の計算結果です。 例えば、5÷3=では、内部数値が、1.666666…となりますが 内部数値を (1)小数点以下2桁と切り捨てたい         →1.66になる (2)少数3桁目を四捨五入して小数点以下2桁としたい →1.67になる にするにはどうするのですか? 該当セルの見かけ表示の設定で(1)、または(2)にするのではなく、 値そのものを調整したいのです。

  • 割合(%)を出すとき、小数第何位まで計算すればいいか?また四捨五入について質問

    割合の計算で、86÷1337=0.0643・・・ ですが、小数点以下第二位まで四捨五入する場合、小数第四位まで求めますが、何故第四位まで求めるのでしょうか?第五位以上は求めなくて良いのでしょうか? また四捨五入についての質問なのですが、 40.45を小数点以下第一位まで四捨五入すると、40になりますが、このときに以下の疑問点があります。 四捨五入の過程で、小数第一位は4→5になりますが、この5を四捨五入すると、繰り上がると思うのですがなぜか、5が消えてしまいます。 それはなぜかと云えば、40の0は一の位で5は小数第一位だから、0のほうが位が大きい繰り上がらないと云う認識で大丈夫でしょうか?

  • エクセル2000で関数を使った四捨五入のやり方

    エクセル2000を使っています。 四捨五入の設定が分かりません。 定価を表示したセルに、*1.05で税込み定価を右のセルに表示して、さらに右のセルに表示した税込み定価に0.5を掛けた売価を更に右のセルに表示します。*0.5といった感じです。 すると、35.6とか小数点が付いてしまいますが、これを自動で四捨五入したいのですが設定方法がわかりません。 詳しい方がいらっしゃいましたらアドバイスよろしくお願いいたします。

  • 四捨五入で計算された数字を、整数で返す関数を教えてください。

    エクセルで見積金額をだす時に、小数点以下非表示で計算すれば、100.4+100.9+100.4=301.7 302となります。 関数を使い小数点第1位四捨五入で、これを301にしたいのです。 小数点第一位を四捨五入して整数で返すと言うのでしょうか? (小数以下斬り捨てだと、300になります。INT関数がそうなのでしょうか?) すみません、関数がまだ良く分かりません。間違っていたり説明がまずかったなら、ごめんなさい。

  • javascriptで四捨五入して小数点第1位表示で計算値が10になった場合、10.0と表示したい0表示にする方法

    利率計算を作成していて、問題が発生したため、質問します。 以下ような計算式で、四捨五入し、小数点第1位表示まで 出来たのですが、計算値が整数になってしまった場合、 10と表示されます。これを何とか、整数値になった場合、 10.0と表示させたいのですが、良い方法があれば、 ご伝授いただければと思います。 ritu = Math.round( ritu * 1000 ) / 10; //小数点第1位表示四捨五入して代入

専門家に質問してみよう