• 締切済み

書式とかラウンド関数で表示された数字で計算したい

セルの表示形式で、マイナスは0で表示される設定がされていたり、rounddown関数で小数点切り捨てられた数字が表示されています。 そこに表示されている数字をそのまま使って合計したりしたいのですが、小数点やマイナスが反映されてしまいねらった計算ができません。 あくまで表示されている数字で計算したいのですが、どうすればうまくいくでしょうか? あと、あまりを求めるmod関数についてですが、小数点以下も表示されるのはなんででしょうか?mod関数は余りを求める関数と理解しているので、正数にしかならないと思うのですが・・・ お答え宜しくお願いします。

みんなの回答

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

こんにちは。 同じことが繰り返されていますが、私の経験談を踏まえて書かせていただきます。 それは、私が一番最初に表計算を使った時に気がついたことだからです。 >そこに表示されている数字をそのまま使って合計したりしたいのですが、小数点やマイナスが反映されてしまいねらった計算ができません。 その処理をきちんと関数で行うことです。その手間を惜しんではいけないのです。 「オプション-表示桁数で計算する」というのは、使えるようで実務上では、使えないのです。その注意を喚起するために、メッセージダイアログが出てきます。 表示形式で直すと、問題なのは、一番下桁が四捨五入されるという問題が出てきます。それでは、使えません。やはり、正しく、ROUNDDOWN関数で、有効以下桁数を切り捨てる、というのは、基本的な表計算の使い方だと思います。 =2/3 は、表示形式「0.00」で、0.67 になってしまいます。 =2/3 を3つ足したら、2.01 ではいけませんね。お金を扱う仕事では、その計算過程が示されていないので、後々大変なことになってしまいます。この20年来、表示形式の切捨てモードはありません。アメリカのようなチップがある国では、それが標準なのかもしれません。アメリカは、銀行でも、その程度(数パーセント)の誤差は平気だそうですから。 本当は、切捨てモードがあればよいのですが、なぜか、そういう機能は備わってはいません。便利なようでおせっかいな機能です。 >あまりを求めるmod関数についてですが、小数点以下も表示されるのはなんででしょうか? みなさんがむつかしく書いていますが、小学生の算数の問題だと思います。 10 ÷3 の余り (3 が3つと、余りが、1) =MOD(10,3) は、余り 「1 」 では、 10/3 ÷3 の余り (1/3 が 3つと、余りが、1/3) =MOD(10/3,3) は、余り「1/3」ですね。 (Excelは、分数表示が苦手--正確ではありません。表示形式「# ?/?」として出てきますが。)

ksjwddfo
質問者

お礼

ご回答有り難うございました。 最近エクセルの便利さに気づき、質問させていただいたのですが、 他の方の意見も含めて、要点理解にすこし時間がかかりそうですので、 まずお礼をさせて頂きます。 使いこなせれば便利なんでしょうが、そこまでが大変ですね。

回答No.6

>ツール→オプションを開いて 計算方法のタブで >「表示桁数で計算する」にチェックを入れてみてください とコメントしたものです。 上記の方法では A1~A5に 1.2 と言う数値が並んでいて 表示形式で1としている時(セルを選択すると数式バーに1と見える状態) A6に =SUM(A1:A5) と入れると 通常は 結果が 6となります。 オプションのチェックをつけると6となり、結果を別セルに 値貼り付けしても5は保持されます。 同様に 1,2000という数値を5個並べて、表示形式で千以下を 表示させていない場合も、SUM関数に同様の書式設定を していれば5となります。 もちろん正しい答えではないのですが、とりあえず表示させている値を ざっと計算する時に使用します。 桁数の多い数値を扱う場合など、印刷する資料は100万以下を 表示させない等の処理をする事がありますが、印刷資料を見た人が (電卓で打ったりして)計算する値と、実際の値の差分を 簡易的に確認する時などに使用しています。 同様の使用法ならこの方法が有効です。 正確な数値を出す場合は、元数値は残したままで、他の方が 言われている通りIf文などを使用して丸めた数字を出されるといいと思います。

ksjwddfo
質問者

お礼

ご回答有り難うございます。表記の内容をしっかり理解できるには まだ時間がかかりそうですので、まずお礼をさせて頂きます。 私の考えていたよりも奥の深いものだったんですね。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

>表示されている数字で計算したいのですが 「計算」は、エクセルでは、四則演算か関数で行います(VBAでセットする場合など除き)。 前の段階での「関数」の結果は、セルの「値」を、作ってしまうので、基本的には、そのセルを参照する関数は、その「値」を計算に使いますので、心配する(議論する)ことではありません。 質問前半は、もう一度表現を考え直してください。 セルの表示形式で、見えている数字で計算させるのは、上で言った「関数はセルの「値」を使って計算し「値」を返すもの」という原則に反するので、できません。 ーー 気になるのは、ツールーオプションー計算方法ー表示桁数で計算する ですが、 (1)桁数でのことに限られる A1=1、A2=2、A3=SUM(A1:A2) A1表示形式"0",A2も同じ。A3は標準。A3は2になって、0にならなかった。 (2)セルの「値」を変える(場合が在る)ので 値は、元のままで計算だけ表示形式の結果で計算するものではないということです。 元の値が捨てられて良い場合というのは、実務などでは、そうないと思いますので、 関数でできるパターンであれば、関数で別セル(配列数式など使えばそれが不要な場合が考えられる)に、表示形式で見えている数を、関数で「値として」作り、その値に対し計算するのが、本筋でしょう。 たまたま、「表示桁数で計算する」で必要な数字になる場合は、使えばよいし、使えない場合は、関数で望みの数を作るということです。

ksjwddfo
質問者

お礼

ご回答ありがとうございます。 文章をよく読ませてもらい、理解したいと思います。 まずお礼をと思い投稿させて頂きます。

noname#204879
noname#204879
回答No.4

「mod関数」の[書式]は =MOD(数値,除数) ですね。 「数値」(被除数)も「除数」も整数の場合は商(除算の答え)も剰余(余り)も整数になるが、そうでない(小数点を含む)場合は、当然のことながら剰余も小数点を含むことがあります。

ksjwddfo
質問者

お礼

ご回答有り難うございました。 参考にさせて頂きます。

  • zuhka
  • ベストアンサー率12% (2/16)
回答No.3

まず、「書式設定」と「関数」は、根本的に違うということを理解してくださいね。  たとえば、計算結果が「2」と表示されていたとしても、書式設定で小数点以下を『表示しない』設定になっているだけだと、パソコンの中での実際の数字は「1.5」だったり「2.499…」だったりすることもあるので、必ずしもお望みの結果にならない可能性があります。  ROUND関数やINT関数などをを使って、四捨五入した数字(または切り捨てた数字)は、あくまで見た目どおりの数字なので、「2」と出ていればそれは間違いなく「2」です。  もうひとつの質問、MOD関数のほうは、引数に小数が入ってる場合、値が必ずしも整数とはなりません。  具体例をひとつ、「MOD(9.6,3)」を例にして説明しますね。  この場合、9.6を3で割ったときの余り部分を返してください、ということになるので、    9.6÷3=3・・・0.6になりますので 出てくる答えは「0.6」になります。

ksjwddfo
質問者

お礼

ご回答ありがとうございました。 まずお礼をと思い投稿させていただきます。 上記およびその他の回答を参考にさせて頂きます。

回答No.2

ツール→オプションを開いて 計算方法のタブで 「表示桁数で計算する」にチェックを入れてみてください。

ksjwddfo
質問者

お礼

ご回答ありがとうございます。 エクセルに慣れていませんので、一つずつ確認させていただいているので、まずお礼をと思い投稿させて頂きます。

回答No.1

(1)小数点 INTで丸める (2)マイナスが0 a=cells(x,y) if a<0 then a=0 じゃダメですか? (3)mod関数 実数で計算させたり、浮動小数点を使用すると、例え答えが1であっても、1.000000等と表示されますが、そういう事ですか? あと正数じゃなく整数ですよね。

ksjwddfo
質問者

お礼

素早い回答有り難うございました。 思いがけず多くの意見を頂き有り難うございます。 なにぶんエクセルはじめて間もないものですので、 一つ一つの回答を確認しながら返答していくことになると思いますので、お礼の投稿が遅れることをお許しください。

関連するQ&A

  • ラウンド関数で表示された数字で

    excel2003を使用しています。 ラウンド関数(rounddown)を設定しているセルを参照した計算式を作ったのですが,実際には切り捨てていない数字で計算されてしまいます。 例: A1=10    A2=rounddown(A1/4,1)→「2」と表示    A3=10    A4=A2*A3 このとき,A4の値が「20」となることを期待しているのですが,実際には「25」と表示されてしまいます。 類似の質問http://okwave.jp/qa/q2699131.htmlに,回答No.3《ROUND関数やINT関数などをを使って、四捨五入した数字(または切り捨てた数字)は、あくまで見た目どおりの数字なので、「2」と出ていればそれは間違いなく「2」です。》や回答No.5《前の段階での「関数」の結果は、セルの「値」を、作ってしまうので、基本的には、そのセルを参照する関数は、その「値」を計算に使いますので、心配する(議論する)ことではありません。》とありますが,そのようになっていないのです。 同じく回答No.2に《ツール→オプションを開いて 計算方法のタブで「表示桁数で計算する」にチェックを入れてみてください。》とありますが,これはNo.7で《使えるようで実務上では、使えないのです。その注意を喚起するために、メッセージダイアログが出てきます。》というご意見が出ているので,躊躇しています。 解決方法について,ご存じの方がいらっしゃいましたらご教示ください。

  • 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](今回、数値は負になることは有りません。)

  • 関数

    =ROUNDDOWN(ROUNDDOWN(AI3,-3)*0.0545,0)の関数があり、AI3のセルには745,583の数字があり、この関数では40,602となるが、この数字に0.4を乗算して小数点切捨てで16,240の数字になる関数式を教えてください。よろしくお願いいたします。

  • round 関数

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

  • 一つのセルに関数計算式と数字を入れたいです

    エクセルの質問です一つのセルに関数計算式と数字を入れる様にすることは可能でしょうか? 例えば そのセルに何も入力しないと、他のセルとの計算結果が表示され、数字が入力されると、その数字を元に他のセルへ計算結果が出る様にしたいのですが、A1のセルに何も数字を入力しないと、計算式でA1は=B1/C1の%表示で、A1に数字を入力すると、その数字を元にB1は=C1*A1の計算結果を反映させたいのですが、よろしくお願いします

  • Excel2000の時間計算を関数で

    Excel2000でセルに時間(HH:MM形式)が入っています。 表示のみ(HH:MM形式)で、実データは小数点の入った数値です。 このセルは1日から31日まであって、最後に合計を出したいのですが、 表示形式を時刻にすると24時間の壁があることに気づきました。 時間数の合計を出したいので、24時間を超えて計算したいのですが SUM等で足しただけではだなようです。合計時間の上限は72時間と 考えています。 関数の組み方が分かる方がいらっしゃいましたら、ご教示願います。

  • ROUND関数が含まれるセルの合計

    エクセル2007でROUND関数が含まれるセルの合計についてお尋ねします。 以下のようにセルが並んでいます。 ROUND関数が絡んでいるせいか、B14のセルのB9-B13が計算されると、 B14のセルに表示される金額の下一桁が、 普通に引き算した際よりひとつ大きな数字になります。 (例:(B9)279,750-(B14)14,609=(B14)265,141なのに、265,142と表示される) 対処法でB14のセルをROUNDDOWN(B9-B13,0)としてますが、 これで対処方法は間違いないでしょうか? またこの原因は何になりますでようか? よろしくお願いいたします。 ----------------------------- B6 ----------------------------- B7 ----------------------------- B8 ----------------------------- =SUM(B6:B8) ※B9セル ----------------------------- =ROUND(B9*0.006,0) ※B10セル ----------------------------- B11 ----------------------------- B12 ----------------------------- =SUM(B10:B12)  ※B13セル ----------------------------- =B9-B13  ※B14セル ----------------------------- また、このようなセルがいくつも横に並び、B9、B13の位置の合計をそれぞれ足し、 B9の合計-B13の合計を計算すると、同じように下一桁がひとつ大きい数字が表示されます。 この原因についてもお分かりになりましたら、お願いいたします。

  • 入力条件に基づいた計算結果が別々に表示される関数

    以下は各セルの設定(条件)となります。 (1)A1セルとA2セルの一方は正数、かつ一方は0とする。 (たとえばA1の「支出(通常)」セルに5000という数値がある場合はA2の「支出(立替)」は必ず「0」が入力される。同様、A1が0の場合にはA2は5000と入力される) (2)A3~A6は各「臨時収入」という項目とする。 (3)A7は(2)の合計結果が表示される(「臨時収入合計」) (4)A8はA7(臨時収入合計)からA1、A2いずれかを減算した場合の結果が出る。 以上の設定に対し、A9~A12の各セルへ以下の入力規則による計算結果を表示する(目的)。 ・A1が正数、A2が0、 A3が正数 の入力結果をA9に表示 ・A1が正数、A2が正数、A3が0 の入力結果をA10に表示 ・A1が正数、A2が0、 A3が0 の入力結果をA11に表示 ・A1が正数、A2が正数、A3が正数 の入力結果をA12に表示 また以下はA9~A12の表示の際の条件です。 ・A9~A12での結果表示にマイナスの符号がついたものについてはその符号を示さない。 ・A9~A12での結果表示以外の数値はすべて「0」と表記される。 このような設定が叶う関数式を教えてください。(わかりずらい説明かもしれませんので例もアップしました) *なお、作表の目的についての詮索などは控えてくださるようお願いします。 当方関数を勉強中ですので回答の関数式の説明も簡単にあると幸いです。 よろしくお願いいたします。

  • エクセルの合計が計算機と違う場合

    セルの値が小数点の付いた数字で単純に小数点以下を無くした場合、四捨五入されて小数点無しになりますがその用な感じでセルの数字をいくつか求め、更に合計した場合1の位の数字が1つずれる場合があります。表示された数字では無くて小数点以下の数字の合計が計算されてるようです、このような場合ですが求めたい値は単純にセル表示された数字の合計を求めたいだけで隠れた小数点以下の合計を求めたい訳ではありません。どうしたら良いか教えてください。 説明不十分ですが宜しくお願いします。

  • 小数点切捨て

    =ROUNDDOWN(AI5,-3)*0.109/5の関数があるのですが、小数点以下を切捨てにしたいので教えてください。 AI5のセルには896,958の数字がありこれで計算すると19,533になってしまいますので、19,532にしたいので、よろしくお願いいたします。

専門家に質問してみよう