• 締切済み

ラウンドダウン関数を使わずに切捨て

エクセルで金額の計算をよくするのですが、金額ですので三桁区切りの円未満は表示しないようにしています。 このときに、どのセルについても必ず円未満は切捨ての計算結果が欲しいので、ラウンドダウン関数を使用せずに常に切捨ての計算結果を得る方法はないものでしょうか。もともと理論関数などをたくさん用いていて、一つのセルにたくさんの内容がある上に、さらにラウンドダウンの関数を織り込むとさすがにまいっています。 エクセルでは計算結果が四捨五入になっているのは分かっているのですが、何か別の良い方法があるのではないかと探しています。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

今回の場合、サンプルを見せられないままですと、やはり、TRUNC() で括ってしまったほうが早いと思います。負の数字が存在する場合は、INT()は、使わないほうがよいと思います。

shunshun-dash
質問者

お礼

ありがとう御座います。

  • 134
  • ベストアンサー率27% (162/600)
回答No.4

rounddown では、桁数も入れなければいけませんけど、intなら、カッコでくくるだけでいいので、よりわかりやすいかもしれません。 あるいは、不可視領域に長いセンテンスの関数を入れて、目的の領域に切り捨てる関数を使って、間接的に表示させる という方法が ベターのように感じました。

shunshun-dash
質問者

お礼

ありがとう御座います

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.3

最も簡単な対応は元の数式から0.5を引くことです。 もちろんこの場合は実際の値が切り捨てられているわけではありませんのでその値を計算に利用する場合には注意してください。 ちなみに#1のboy_boyの回答にある「例えばセルの表示は「154」数式バーでは 「154.54」になっていた場合でも」とはならないと思うのですが・・・

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

失礼かもしれませんが、#1の 「表示桁数で計算する」は、四捨五入であって、切り捨てではありません。金額の計算には向かないと思います。 私が考える限りでは、例えば、せいぜい、別のシートで計算させる、とかぐらいで、たぶん、ふつうの一般操作の方法では、解決策は見当たらないと思います。 ワークシートが重いときは、マクロに頼るしかありませんが、ただ、「理論関数(論理関数かな?)」のネストを繰り返しても、それだけでは問題は発生しません。「まいってしまう」とは、ネストの制限を越える、とかいうことでしょうか? ユーザー定義関数などで、式自体をまとめてしまうこともできます。(ただし、書き方によっては、計算がかなり遅くなります。)しかし、その前に、一体、どのような式を使ったら、そのようなことになるのか、興味があるところです。 以下のサイトを確認して、式を根本的に見直す必要があるかもしれません。 [XL] メモリを節約するワークシートの作成方法

参考URL:
http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/401/7/04.asp
shunshun-dash
質問者

補足

質問の仕方が悪かったのかもしれません。 シートが重たくなるのではなく、こちらが関数を入力するときにかなりの長さの式になっている(数式バーで2行目にわる式になることがしばしば)ので、その上にいちいちラウンドダウン関数を追加するのにはこちらがまいってしまうという意味です。また、関数を組む途中でこちらの頭がヒートアップしているので、その上でラウンドダウンを追加しているとミスをしやすくなると言うこともあります。 ある切り捨てられたセルはまた次のセルに引用されると言う風に次々と連動していますので、各セルは表示上だけではなく実際の数値としても切り捨てられている必要があるというわけです。 そのために、例えば「ツール」→「オプション」の中で、「計算処理は必ず切り捨てる」というようなチェック項目があればよいなと期待していたところです。

  • boy_boy
  • ベストアンサー率55% (56/101)
回答No.1

正確な計算には向きませんが、 >金額ですので三桁区切りの円未満は表示しないようにしています。 にして居るので在れば、「ツール」⇒「オプション」 「計算方法」タブで「表示桁数で計算する」に チェックしてはいかがでしょう。 例えばセルの表示は「154」 数式バーでは 「154.54」になっていた場合でも このセルを対象に計算させる場合には「154」として 計算してくれます。

shunshun-dash
質問者

お礼

ありがとう御座います

関連するQ&A

  • Excel関数切捨て

    Excel 2010を使用しています。 所得税の計算で課税される金額は千円未満切り捨てです。 技術評論社の「ExcelKansuu」の106ページにROWNDDOEN(切捨て)があったのでそれを使いましたが、数学的には切捨てでは無く千円未満四捨五入でした。 切捨てはインテジャーと思いますがExcel2010で使うのがむづかしいです・ 6回目の年男 ※OKWaveより補足:「富士通FMV」についての質問です。

  • 関数 ROUNDとセルの書式設定

    こんにちは。 EXCEL初心者です。 関数について、ふと思ったことがありましたので質問させてください。 ROUNDとか*UPや*DOWNという関数がありますよね? 調べてみるとこの関数の行う処理は、「値を指定した位で四捨五入する関数です。消費税の計算など小数点以下の位を四捨五入する時などに使えます」とのことですが、この処理は、「セルの書式設定」→「数値」で出来る設定と同じような気がするのですが、なにか違うのでしょうか? よろしければ「こんな使い方もあるよ」的なことを紹介していただけるとうれしいです。

  • 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」にならないのでしょうか?

  • エクセルのROUND関数(金額によって違う四捨五入)

    エクセルのROUND関数に関して質問があります。 下一桁を四捨五入するやり方については、 ROUDN(-1)で出来ることはわかっています。 100円台は下一桁(1円単位)のみ四捨五入し、 1万円台は下2桁(10円単位)まで四捨五入するという やり方を同じセル上でやりたいのですが、方法はありますでしょうか? ご回答宜しくお願いします。

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

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

  • ラウンドダウン出来ません

    Excellでラウンドダウン関数を使っているのに切り捨てされた結果になりません。何か悪さされてしまっているのでしょうか

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

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

  • エクセルのROUND関数で・・

    エクセルの関数を使って計算してるんですが、答えが合わないんです。 =ROUND($B31*$D31,2) $B31 には 3.900 $D31 には 3.55 二つをかけた値「13.845」の、少数第2位を四捨五入して返した値が、13.9 と出るんです。 少数第2位の 4 を四捨五入したら 13.8 が返されるはずですよね? 今日朝から一日悩んでます(+_+) パソコンには詳しくないので解り易くどなたか教えてください<m(__)m>

  • エクセルでの51銭以上未満の切捨ての方法

    社会保険の計算をしています。 51銭以上の切り上げ、未満の切捨ての入力式を教えてください。 エクセル2000を使用しています。 =ROUND(ROUNDDOWN(E19,-2)*3/1000,1) E19には、賞与の支給総額が入ります。 賞与を百の位で切り捨て、四捨五入のつもりでROUNDを使ったのですが、 これですと当然1円の誤差が発生してしまいます。 どうぞ宜しくお願いします。

  • 切り上げ、切捨ての関数を教えて下さい。

    小数点以下を、端数処理するのに、 0.6以上は切り上げ、0.6未満は切り捨てをしたいのですが、そんなことが出来る関数はありますか? 四捨五入まではあるのは知っているのですが、ifとか組み合わせないとダメでしょうか。 教えていただけるとうれしいです。よろしくお願いします。

専門家に質問してみよう