• ベストアンサー

演算した数を更に演算したときの桁上げについて

8月24日の385maruさんのご質問 http://www.okweb.ne.jp/kotaeru.php3?qid=342260 に補足要求をし、補足頂いたものです。本件を再補足要求 しようとしたところ、直前に締めきりに会いました。 普通はこういう場合は諦めているのですが、 どうも内容がエクセルの計算原理に関わることで、 ハッキリさせておきたい気がしますのでよろしく。 それで他にも関心を持っていただける方がいらっしゃたら、ご教示をお願いいます。 ----- 早速補足有難うございました。 早速追試してみました。しかしご記入のように私の場合は なりませんでした。(エクセル2000) A1セルに「=21.75*350」,A2セルに「=21.45*350」と打ちこみました。A1セルの表示は7612.5、A2のセルは7507.5 となりました。B1セルに=ROUND(A1,0)、B2セルに=ROUND(A2,0)を入れました。値は7613と7508になりました。 そしてB3に=SUM(B1:B2)を入れたところ、15121となります。 B4に=B1+B2を入れても15121です。 ちなみにA3に=A1+A2を入れると、15120です。 ツール-オプション-計算方法-「表示桁数で計算する」はOFF を確認しました。A1セルとA2セルに対し 表示桁数だけの操作を行っているということではないでしょうか。

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんにちは! 私なりに記載させて頂きます。  =ROUND(A1,0)  これは計算で数値を加工する数式ですから当然元の  数値とは違ってくる(同じ場合もありますが)のは  ご存知だと思います。EXCELにおいては見かけの表示  に対し本来希望の計算に使える数値に加工するのが  一般的な方法ですから 各数値を四捨五入した上で  加算するのも通常はこちらを使います。 それに対して 「表示桁数で計算する」のオプションは 本来見かけの 表示(整数表示だが少数点以下を含んでいるとか)に対し 表示された数値で計算させるもので、原理と言うよりは 無理矢理技のようなものです。 同オプションをONにした状態で A1 と A2 の書式設定 表示形式 数値 少数点以下0 と設定すると 表示は 7613 7508 となりSUM(A1:A2)の 結果も15121となる筈です。 表示形式によって見えなくなった少数点以下を考えず あくまでの目に見える状態での計算となるので計算上は 不確かですが、見かけ上は矛盾しない結果となります もっと極端な例としては A1 A2 の表示形式を ユーザー定義 0, 千単位表示にすると 8 8 と表示 され加算すると 16000 となります。  

imogasi
質問者

お礼

ご解答有難うございました。 「表示桁数で計算する」のオプションの使い道について経験がなくて、思い至らずお騒がわせしました。 ご解答で表示上の数値で計算させることが出来ることが判りました。 親切ではあるが、例えば仕事上表を引き継いだときなど、面食らうような機能だなと思いました。いつも表示(形式)に注意すべきと思いました。オプションをONにしてOFFに戻すと瞬時に元へ戻るのかなど勉強して見ます。今後ともよろしく。

その他の回答 (2)

  • gimmick
  • ベストアンサー率49% (134/270)
回答No.3

件の質問で回答したgimmickです。言葉が足りなかったために混乱させてしまったようですね。どうもお騒がせしました。 さて、「表示桁数で計算する」という機能ですが、簡単に言ってしまうと「セルのデータの桁数を表示桁数に一致させる」というものです。例えば、この機能をONにした状態で「セルの書式設定」の「小数点以下の桁数」を2にすると、そのセルは小数第2位までしか値を持てません。試しに12.345と入力してください。自動的に12.35に丸められてしまうはずです。データ自体が丸められてしまうのですから、他のセルの関数から参照した場合も、丸めた数値によって計算される事になります。つまり、全てのセルに対してROUND関数を使用しているようなものなのです。 「表示桁数で計算する」をオフにする場合、元のデータが失われる可能性があるので注意が必要です。また、かなり特殊な機能だとも思います。ただ、使いようによっては便利な場合もあるのでしょうね。

imogasi
質問者

お礼

このたびは、再度ご説明頂き有難うございます。私の生半可な知識が基で、お手数をお掛けしました。エクセルのセルのデータを見る場合、こう言うケースもあることを記憶の隅において考えます。今まで小生は望みの数値を関数で出して、表示書式を合わせてばかりだったように思いますが、セルの数値的値と異なる数値表示があり得ることに目を向けさせて頂きました。今後ともよろしくお願いします。

  • taka2456
  • ベストアンサー率29% (36/122)
回答No.1

B1とB2についてですが ROUND関数を使用してますので少数第一位を四捨五入した値が入っています ですのでB1とB2には小数点以下の情報は入っていません 実際の内容は B1=7613、B2=7508がはいっています ですのでB3セルの値はSUM(B1:B2)=B1+B2=7613+7508=15121となります 一方A3の場合はA1には21.75*350=7612.5がA2には21.45*350=7507.5が はいっていますので A3=A1+A2=7612.5+7507.5=15120.0が入ります 1512.0となりますが初期設定では小数部が0の場合は表示されませんので A3=15120となります メニューバーにある小数点桁上げおよび桁下げをクリックして 表示する小数部の桁数を変更しても見た目は四捨五入されますが セルに入っている数字はそのままです 一方ROUND関数を使用した場合は元の数字を四捨五入した値に変わって しまします こんな回答でよかったでしょうか、わからないことありましたら補足いたします

imogasi
質問者

お礼

早々とご教示・解答有難うございます。やはり考えていた線と違っていなかったとは思います。 ただ質問して後、エクセルには表示上で見えている数字桁を増減させていて、見えているままの値で計算させる方法を提供しているのではないか(B列にRound関数で値を出すのでなく、A列で表示を小数点以下無しにして、A3に演算をかけた)と思いました。 それが「ツール-オプション-計算方法-表示桁数で計算する」かなと思いました。この機能を使ったことがなかったものでそこに思い至りませんでしたが。元の質問の方385maruさんはgimmickさんの解答により、それで判ったとして打ちきられたのだと思うようになりました。 有難うございました。

関連するQ&A

専門家に質問してみよう