関数の使い方について

このQ&Aのポイント
  • Excelの関数を使った数値の丸め方について教えてください。
  • 特定の数式において、小数点以下4桁目を「2捨3入」「7捨8入」したい場合、関数を使うことがあります。
  • 具体的な例として、数式「=ROUND(0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□,4)」があります。
回答を見る
  • ベストアンサー

関数の使い方について

関数の使い方について =ROUND(0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□,4)という数式があります。 (1)その□に「20」を入れると、「1.2625」という数字が返されます。 (2)その□に「40]を入れると、「2.5298」という数字が返されます。 (3)その□に「50]を入れると、「3.1653」という数字が返されます。 (4)その□に「30]を入れると、「1.8956」という数字が返されます。 ある作業に必要な為、小数点以下4桁目は「0」と「5」の表示にしなければいけない為、小数点以下4桁目を「2捨3入」「7捨8入」をして出力値として数字を丸めないといけません。 (1)の場合は問題ないですが、(2)、(3)の小数点以下4桁目は、「8」と「3」になっています。 要するに(2)の「2.5298」⇒「7捨8入」⇒「2.5300」 (3)の「3.1653」⇒「2捨3入」⇒「3.1655」 ちなみに(4)「1.8956」は「1.8955」となります。 以上のように、関数を使って「2捨3入」「7捨8入」を行ないたいのです。 ご教授ください。

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

  • ベストアンサー
  • gt-t
  • ベストアンサー率41% (7/17)
回答No.1

「2捨3入」「7捨8入」は「round(A*2,求めたい桁-1)/2」になります。 今回の場合は、=ROUND((0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□)*2,3)/2 となります。

akame_hiro
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

計算値が4桁目の数字までしかないのでしょうか。 0.0005を中心として計算したいなら(たとえば1.23426なら1.235にしたい場合)以下のような式になります。 =CEILING(計算式-0.00025,0.0005)

回答No.2

B2セルに質問の式が入力されているとします。 C2セルに以下の式を入力して下さい。 =IF(B2>0,B2+INDEX({0,-1,-2,2,1,0,-1,-2,2,1},1,MOD(B2*10000,10)+1)/10000,0)

関連するQ&A

  • 関数の使い方について

    関数の使い方について =ROUND(0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□,4)という数式があります。 (1)その□に「20」を入れると、「1.2625」という数字が返されます。 (2)その□に「40]を入れると、「2.5298」という数字が返されます。 (3)その□に「50]を入れると、「3.1653」という数字が返されます。 (4)その□に「30]を入れると、「1.8956」という数字が返されます。 ある作業に必要な為、小数点以下4桁目は「0」と「5」の表示にしなければいけない為、小数点以下4桁目を「2捨3入」「7捨8入」をして出力値として数字を丸めないといけません。 (1)の場合は問題ないですが、(2)、(3)の小数点以下4桁目は、「8」と「3」になっています。 要するに(2)の「2.5298」⇒「7捨8入」⇒「2.5300」 (3)の「3.1653」⇒「2捨3入」⇒「3.1655」 ちなみに(4)「1.8956」は「1.8955」となります。 以上のように、関数を使って「2捨3入」「7捨8入」を行ないたいのです。 ご教授ください。

  • エクセルの関数について

    こんにちは。 エクセル関数でわからないところがあるので、教えてください。 Round関数で、四捨五入の小数点以下の表示を切っています。 そうすると、その合計を取ると、実際は表示は小数点以下が 切れていても、元の数字は小数点が残っているので 合計を出した時に端数が合いません。 =IF(E5=0,"",G5) このG5に当たる個所が、Round関数が入っていて 合計が合いません。 ちなみにG5には、=ROUND(C6,2) こんな式が入っています。 C6の数値が小数点になっています。 分かる方、教えてください。よろしくお願いいたします。

  • エクセルデータのワードへの差し込み

    エクセルでラウンド関数で小数点を2桁に設定し計算させたものをワードに差し込んだのですが、設定した二桁の小数点以下に数字が表示されてしまいます。解決方法を教えて下さい。

  • エクセル関数を教えて下さい。

    ROUND関数で除算して、小数点以下を四捨五入させたセル(ROUND(A1/1.05、1))を合計する際、ROUND関数で求めた画面上の整数の合計をさせる関数を教えて下さい。SUM関数を使用すると、除算した小数点以下の数字にて集計されます。

  • 2捨3入、7捨8入について

    2捨3入、7捨8入について いつもお世話になります。まずは、式をご覧ください。↓ ROUND(0.0002478247+0.5925077*◎+0.00102303*◎*◎-0.00000895657*◎*◎*◎,4) 上のように「◎」に例えば「1」という整数を入れると、「0.5938」という数字が算出されます。ある表示機は下4桁目が「0」と「5」表示になっており、2捨3入、7捨8入を使って「0」と「5」表示にしなければいけません。 どのように式を改造すべきでしょうか? 教えてください。

  • エクセル関数について教えてください

    エクセルで計算した結果の小数点以下を4捨5入ではなく 5捨6入する方法、小数点以下を切り捨てる方法を教えてください。

  • エクセル関数で

    お世話になります。下記の数値の小数点以下3桁目をある条件で 切り上げ・切捨てを行いたいのですが、その条件に加えて小数点以下3桁 目が0でも切上げにする場合の数式を教えていただけないでしょうか? 【条件】23.230以下は、小数点以下3桁目を切り捨て。23.231以上は 小数点以下3桁目を切上げる。ただし、23.231以上で切上げる場合、 小数点以下3桁目が0の場合でも切上げる(*) 例)23.151 → 23.15   23.150 → 23.15   23.230 → 23.23   23.231 → 23.24 (*) 23.240 → 23.25 切り上げ、切捨ての数式はIF関数でできたのですが、23.231以上で 切上げる場合、小数点以下3桁目が0の場合でも切上げるというのが 分かりません、、、 =IF(A1>=23.231,ROUNDUP(A1,2),ROUNDDOWN(A1,2)) ご指導いただきたく、宜しくお願い致します。

  • javascriptで小数点以下2捨3入の記述方法は?

     javascriptで小数点以下四捨五入(Math.round)切り上(Math.ceil) 切下げ(Math.floor)はありますが、事情があって2捨3入、3捨4入が 必要となりました。どこで調べても見つかりません。どなたか記述方法 を教えてください。 また小数点以下第1位、第2位を特定できる方法もありましたら あわせて教えていただければ幸いです。

  • エクセルのAVERAGE関数について

    AVERAGE関数を使って求めた平均が2桁の数字で表示されているのですがそのセルを別のセルにセル参照すると小数点つきでセル元と同じ数値が表示されません。参照先でROUND関数を使うのもおかしいと思うのですがこう言った場合はどうすればよいのでしょうか?基本的な事がわかっていないのかもしれません。

  • 【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

専門家に質問してみよう