• ベストアンサー

ROUND関数と小数点以下桁上げ(桁下げ)ボタンについて

いつもお世話になっています。素朴な疑問ですが教えてください。 任意の桁数で切り上げや切り捨て、あるいは四捨五入を行なう関数としてROUNDUP関数やROUNDDOWN関数、そしてROUND関数というものが存在しますが、このうち四捨五入を行なうROUNDUP関数は、整数表示にしたい場合やそれ以下の小数第○位の表示にしたい場合に使う限りにおいては書式設定ツールバーの「小数点以下桁上げ(桁下げ)」ボタンを使えば事足りるのではないでしょうか? あるいは使い分けをしなければならないケースも存在するのでしょうか? ご存知の方いらっしゃいましたらぜひ教えてください。宜しくお願いいたします <(__)>

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

  • ベストアンサー
回答No.1

ここでも繰り返し質問がでていますが、関数と書式は全く違いま す。書式は見た目を変えるだけで値を変えませんから、計算に使う と想像と違う値が出て来たりするわけですよ。たとえば4.4を書式 で4と表示しておいて、3倍すると12になると思っても、実際には 13.2じゃないですか。 書式で小数点以下の桁数を指定するのは、2.5と3.0が縦に並んだと きに3とだけ表示されて小数点の位置がずれるのがイヤだとか、そ ういう用途に使うと考えた方がいいですね。

genkigumi
質問者

お礼

お忙しい中お返事ありがとうございました <(__)>

その他の回答 (2)

noname#204879
noname#204879
回答No.3

》 ROUNDUP関数は、整数表示にしたい場合やそれ以下の小数第○位の表 》 示にしたい場合に使う限りにおいては書式設定ツールバーの「小数 》 点以下桁上げ(桁下げ)」ボタンを使えば事足りるのではないでし 》 ょうか? それって表現が変です。 上の「表示」が「表示だけ」の意味なら「ROUNDUP関数は」の言葉を削除すれば、貴方への回答はYESです。「表示」された数値は「ROUNDUP関数」なしで強制的に四捨五入されています。 お分かりかなぁ~? 質問されているからには実際に不具合を経験されたからと推察します。その具体例を挙げることをお奨めします。

genkigumi
質問者

お礼

お忙しい中お返事ありがとうございました <(__)>

genkigumi
質問者

補足

お忙しい中お返事ありがとうございました。全員の方にポイントを差し上げたいのですが、2名までしかできないので今回はご勘弁ください。申し訳ありません。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

表示形式は、あくまでも表示・印刷の時の形式です。値の計算の際には 小数点以下も含めて計算されています。 例えば  A  B 10.4 =ROUND(A1,0) 10.3 =ROUND(A1,0) と入れて、A列の合計とB列の合計を出してみてください。 少数点以下の単価が発生する商品の明細と合計で請求金額を出す場合などは 印刷された請求書の合計が合わなくなりますので、問題となりますよ。

genkigumi
質問者

お礼

お忙しい中お返事ありがとうございました <(__)>

関連するQ&A

  • ROUND関数…小数点第2位で切り上げ・切り捨て

    お世話になります。 Excel2003を使用しています。 計算結果の数字を別セルに・・・97.759はROUNDUP(97.759,1)で97.8 同様に…103.103はROUNDUP(103.103,1)で103.2になりますが、本当は103.1としたいのです。 →小数点第2位が0の時は「切り捨て」1以上は「切り上げ」したいのです。 IF(「小数点第2位が0」,ROUNDDOWN(103.1,1),ROUNDUP(103.1,1)) で、いいかと思うのですが、「小数点第2位が0」の条件がうまくあらわせないため、完成できません。ROUNDを使ってもできそうだとは思うのですが、ちょっとだけ焦りも加わり、なかなか整理ができません。この考え方はあっているでしょうか?皆様のお力を貸していただければありがたいです。 ちなみに… セルの表示形式は「数値」 小数点以下の桁数は「1」 負の数の表示形式は「-1,234.0](今回、数値は負になることは有りません。)

  • エクセル .50以下で切り捨て、.51で切り上げの関数

    エクセルでround関数や、rounddown関数、roundup関数など、切り上げ・切捨ての関数が多数ありますが、 ・.50以下で切り捨て かつ ・.51以上で切り上げ という関数はあるのでしょうか。 if関数などを用いれば解決できるものでしょうか。 少々細かい質問だとは承知しております。 知恵を貸してください! 下に、私がやりたい切り上げ・切り下げ例を示します。この例を見ていただけると、単なる四捨五入でないことが分かっていただけるかと思います・・・。 例: 2415.50円→2415円 3500.51円→3501円 よろしくおねがいします。

  • 【PHP】printf()関数の小数点以下の扱い方

    printf()関数で以下のような記述をしました。 関数の引数を計算すると単純で 5 × (1 - 0.35) で結果は 3.25 となります。 これを$%.1f によって出力するため小数点以下は1桁です。 桁数を指定した場合、指定し桁数以下は「四捨五入」されると思っていました。 よって、自分では Price: 3.3 と出力されると考えていましたが 実際には Price: 3.2 と表示されます。 ちなみに 3.25 を round() 関数で使うと 3.3 と返ってきます。 printf()関数で小数点以下の桁数をしてした場合、四捨五入、切り上げ、切り捨て いずれでもない値が返ってくるのでしょうか? このような小数点以下の桁数を扱う方法はPHPの他の関数でも使われるのでしょうか? この方法の呼称というか名称というのはあるのでしょうか? 初学者です。分かりやすく教えていただければ幸いです。 よろしくお願いいたします。! <表示結果> Price: $3.2 3.3 <?php $price = 5; $off = 0.35; printf("Price: $%.1f", $price * (1 - $off)); echo "<br>\n"; echo "<br>\n"; echo round(3.25, 1); ?>

    • ベストアンサー
    • PHP
  • 小数点以下の数字の桁数表示について

    VB6.0で小数点以下の数値が0の場合でも指定した桁数で0も表示するにはどのようにしたらよいですか? 例えば、四捨五入のROUND(0.195000,4)のとき返ってくる数値が「0.195」となり最後の0が表示されません。(以下は4桁表示したいのに) (小数点以下第5位が5なら切り上げで最後に1が表示されますが) エクセルだとセルの書式設定で表示桁数を設定するだけだったのですが。 FIXED関数、TEXT関数はVB6.0では使えないのですよね? VB6.0に詳しい方よろしくお願いします。お手数です。

  • excel関数で四捨五入以外の切り捨て、切り上げ

    excelの関数で四捨五入以外の切り捨て切り上げはどうすればいいでしょうか。 小数点以下を切り上げ・切り捨てしたいのですが、 .5までは切り捨てにしたいのです。.51だと切り上げ。 ROUNDだと.5から切り上げになりますよね。 よろしくお願いいたします。

  • round 関数

    http://pcstory.blog40.fc2.com/blog-entry-172.htmlの round,rounddown,roundup 関数の求め方なのですが 元データを 表示形式 rounddown round roundupで処理しています。 具体的な求め方が分からない部分がありますので 教えてください。 表示形式部分は 568~775を選択し、右クリック、セルの書式設定 表示形式、数値、桁数を0にすると求められると思っています。 その下の round,rounddown,roundup 関数の具体的な求め方をお願いします。

  • ファイルメーカーで小数点以下の切り上げ

    ファイルメーカーで小数点以下の切り上げをするに、どのような関数を使えばよろしいでしょうか? 四捨五入と切り捨ては標準であるのですが、切り上げが見当たらず、またどのように計算を組めばよいか分からず困っています。 わずかでも小数点以下の端数が発生した場合に、整数に切り上げる処理をしたいと思っています。(例としては10.001→11) ファイルメーカーの使用バージョンは9です。

  • エクセルで関数を使用せず、書式設定のみで小数点以下の切り上げをするには

    ROUND関数等を利用した別セルに計算式に入れて切り上げを行うではなく、そのセルに 11.1 と入力された場合は小数点以下をすべて切り上げとなり、12 と表示させる事は可能なのでしょうか? 通常は小数点以下の桁切り上げだと四捨五入になってしまいます。書式設定のユーザ定義で行うとしたのすが、うまくいきませんでした。ご存知の方是非よろしくお願い致します。

  • 小数点4桁での四捨五入がうまくいきません

    エクセルで次のような計算をさせます。 A2 に1.8、B2に0.075、C2に0.075、 D2に= A2*B2*C2 、E2に=roundup(D2,4) D2の計算結果は 0.010125 です。小数点第5桁目の値を参照して第4桁目で四捨五入したいのですが、roundupでは0.0102、rounddownでは0.0101です。 表示させたいのは0.0101です。この場合、rounddownを使えば問題ないのですが、逆にrounddownだと小数点以下4桁目の四捨五入がうまくいかない場合もあります。 例えば A3に2.7 B3に0.08、C3に0.08 があり、E3にすべての値を掛けた結果を表示させると0.01728となります。 =roundup(E3,4)では0.0173となり、rounddownでは0.0172となります。この場合はroundup関数の結果である0.0173が求める数値です。 A列、B列,C列に任意の数字が入り、E列に4桁目で四捨五入した正確な値を求めたいのですが、なにか良い方法はないでしょうか。 VBAを使っても構いません。ちなみにこれは木材の材積計算に使用する目的です。 よろしくお願いします。

  • round関数について

    試しにエクセルで次の計算をしてみてください。 -16.76 7.9 -11.45 -8.88 -1 4.26 33.78 以上を全部足します。つまり「=sum(a1:a7)」です。当然「7.85」になります。 次に四捨五入します。round関数で小数点第2位を四捨五入して、第1位まで表示させます。つまり、「=round(sum(a1:a7),1)」ということです。すると「7.8」を返しました。 ん?「7.9」なのでは?と思い、次にこんな計算をしてみました。 A・・・=round(sum(a1:a7),2) B・・・=round(A,1) つまり、Aでいったん小数点第3位を四捨五入させた上で、その値を今度はBで小数点第2位を四捨五入させ、最終的に小数点第1位まで表示させたわけです。すると、ちゃんと「7.9」を返しました。 なんでこんな風になるのでしょうか?どうして一発で「7.9」にならないのでしょうか?

専門家に質問してみよう