• 締切済み

EXCELで小数点以下を四捨五入しない方法

EXCELで例えば、A1セルに7320000 B1セルに156 C1セルに26と入力してA1/B2*C1とすると電卓では、121.9999と続きますが、EXCEL計算では122.0000と勝手に四捨五入されてしまいます。四捨五入されず、実際の121.99999で表示させるにはどうすれば宜しいでしょうか?

みんなの回答

  • KUJIYA
  • ベストアンサー率34% (53/152)
回答No.12

No4No8No11です。しつこくてすいません。 いまさらですが「正しい数字」はいったいどこにあるのかを 考えていました。 732*26/156を分数で計算すると 732=2*2*3*61 156=2*2*3*13  26=2*13 ですから、 2*2*3*61*2*13/(2*2*3*13) =2*61/1 =122 ですね。

  • KUJIYA
  • ベストアンサー率34% (53/152)
回答No.11

No4No8です。 数字の正しさについて思うことがあったので追記です。 電卓で表示される数字とエクセルで表示される数字の どちらが正しいかと言えば、やはりエクセルだと 思います。(ちなみに私の関数電卓でも122です) 実際は121.9999999994が正当のようですが、 121.99999と122では122の方が正しい数字に近いと言えます。 ただ、エクセルでも有効桁数に限界があるようで、 限界桁は四捨五入している模様です。(15桁かな?) 今回は割り切れる数字のようでしたが、割り切れない場合 はどこかで桁数を切らないと永遠に計算を続けることに なりますから、方法があったとしてもそんなに大きな 桁数は取り扱えないようになっていると思います。

  • nabeyann
  • ベストアンサー率28% (49/169)
回答No.10

間違い無く、EXCELもWindowsに入っている「電卓」も、四捨五入してます。 7320000/156=46923.07692307690000000000000000000>EXCEL、少数30桁表示 少数以下に26を掛けると、1.99999999940000000000000 整数部に26を掛けると、1219998これらを足すと電卓の方が正しい。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.9

 勘違いをなさっています。 表示桁の設定できる電卓を使っているかと思いますが、計算はExcelの方が正しく、電卓の方が間違っています。  Excelで四捨五入をしているわけではありません。  試しに、Windowsに入っている「電卓」で計算してみてください。

  • KUJIYA
  • ベストアンサー率34% (53/152)
回答No.8

No4です。(A1を732で計算しています。) むりやり電卓と同じ作業をする式を考えました。 =INT((INT(A1/B1*10^11)*C1/10^11)*10^9)/10^9 手元にある電卓で再現した場合、12桁電卓でしたので 最初のA1/B1は4.69・・・と整数部分が1桁、 小数点以下が11桁ですから、小数点以下12桁目 以下を切り捨てるために10の11乗倍して、小数点 以下を切り捨て、それをC1倍します。 次に、C1倍された数字は121.999・・・ですが 電卓だと整数部部3桁と小数点以下9桁が有効で 小数点以下10桁以降は切り捨てられていました。 そこで、10の9乗倍して小数点以下を切り捨て 再度10の9乗分の1にもどしてやると電卓と同じ 答えが得られました。 電卓の場合桁数が制限されていて、その桁以下は 四捨五入であったり切り捨てだったりします。 小数点が入ると整数部分の桁数によって小数点以下の 有効桁数が変わりますので、電卓を再現するなら さらに整数部分の桁数も考慮して計算させる必要が ありそうです。 電卓の限界部分を再現するためにはエクセルに 限界線を設定してやればいいと理解しましたが、 質問の意図とはズレていたかもしれません。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.7

No.5のarukamunです。 A1セル 7320000 B1セル 156 C1セル 26 であれば、 =ROUND(A1/B1,0)*C1 で 1219998 になりますが、いかがでしょうか。 小数点が付いているので勘違いしていました。

  • hdog3
  • ベストアンサー率36% (7/19)
回答No.6

A1/B1*C1なら A1*C1/B1と同じ答えですよね 電卓でA1*C1/B1を計算すると整数の答えに成りませんか TRUNC()関数なら指定桁で切り捨てとヘルプに出てますが、121.999・・・には成らないのではないでしょうか どうしてもこの121.999・・・端数の表示が必要なんですか

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.5

こんにちは これは四捨五入されているわけではありません。 A1/B2*C1=732/156*26=122 ですよね。 電卓が121.99999となるのは、桁数が制限されているからでる誤差です。 という事はエクセルで制度を落とせば良いわけですよね =ROUND(A1/B2,4)*C1 の様な方法で行えば可能かとは思います。 ご確認ください。

ovwhwa
質問者

補足

ありがとうございます。 =ROUND(A1/B2,4)*C1 を使いましたが、同じく121.00000と続きます。

  • KUJIYA
  • ベストアンサー率34% (53/152)
回答No.4

この例では電卓が間違っているのであって、四捨五入は 関係なさそうです。 例えば、電卓で732000*26/156と計算 すると、1220000と表示されます。 ついでに、四捨五入させたくない場合は、小数点以下で 必要な桁数が5ならば、10の5乗倍して、int関数で 小数点以下を切り捨て、10の5乗分の1にすれば まとまります。

  • gootan
  • ベストアンサー率32% (23/71)
回答No.3

左横の数字の1または、答えを算出するせるにマウスカーソルを持っていき、右クリックして、 プルダウンメニューの「セルの書式設定」をクリックして、表示形式タグ内の分類を数値にします。 すると、小数点以下の桁数の設定が出てきますので、そこで 桁数を増やしてください。

ovwhwa
質問者

補足

ありがとうございます。 それは、既にやっておりますが、単に小数点以下がずっと0になるだけで、勝手に四捨五入されてしまいます。

関連するQ&A

専門家に質問してみよう