• 締切済み

Excelの関数、四捨五入について

ご質問があります。 現在Excelで表を作っているのですが、どうしても四捨五入で躓きます。 例) A 1234.56 →四捨五入(ROUND.1) →B 1235 上記のようになるのですが 例) B 1235×0.9 → 1111.1(小数点第一表示) 上記のようになってしまいます。 四捨五入したBのセルに対し0.9をかけているはずなのに 四捨五入を行う前のAに0.9をかけた答えが出てしまうのです。 これの謎が解けず困っています。 どなたかお分かりの方がいましたら宜しくお願い致します。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

>これの謎が解けず困っています。  ⇒単にセルの表示形式の勘違いです。(表示形式は表示のみで実体と相違します)   本当に小数点以下を四捨五入する場合、=ROUND(セル,0)とします。 >例) A 1234.56 →四捨五入(ROUND.1) →B 1235  ⇒ROUND(セル,1)は小数点1位の四捨五入で結果は1234.6、セルの表示形式を「0」にしていると思えるので表示は1235(エクセルが自動的に四捨五入した表示にする)   因みに表示形式を標準にしておくと混乱しなかったと思います。 >例) B 1235×0.9 → 1111.1(小数点第一表示)  ⇒1234.6×0.9で1111.14となり、表示形式が0.0としているので1111.1と表示

  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.3

round(1234.56,1)=1234.6 になるべきものです。 セルの表示設定で表示形式が整数になっているのではないでしょうか? 表示設定がどのようになっていても、計算式はセルの内部データに対して 行われます。 ですから、B×0.9の数式の対象は 「1234.56」でも「1235」でもなく「1234.6」になっています。

nagataman
質問者

お礼

なるほど、やっと理解出来ました! ご丁寧にありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

Bの式はちゃんと =ROUND(A1,0) と、なっていますか?

nagataman
質問者

お礼

=ROUND(A1,2)で計算していました。 0に変えてやってみます。 回答ありがとうございます!

  • co2ro
  • ベストアンサー率30% (154/499)
回答No.1

>これの謎が解けず困っています。 セルBの『1235』はあくまでも表示だけです。内部的に処理されている値は『1234.56』です。

nagataman
質問者

お礼

ROUNDはあくまで表示だけなのでしょうか? もしそうであれば内部的に変更するやり方を知りたいのです。

関連するQ&A