プロが教える店舗&オフィスのセキュリティ対策術

Excel計算の答えの整数を二捨三入したいです。
➡の数字にしたいのですが、方法を教えてください。

計算式
① =4670+((6.66*110)+(0.950*14620))/6.375=6963.58 ➡ 6965(二捨三入)

② =2920+(14730-2295)*((1.35/2)/1.35)=9137.5    ➡ 9135(二捨三入)

Excel 2010と2016両方に対応できるようにお願いします。

よろしくお願いします。

質問者からの補足コメント

  • へこむわー

    今あるサンプルがこれだけしかありません。
    これで、相手に伝えようとしてもうまく伝わらないのいわれる通りです。

    下記の計算式で、電卓ではこのように求めるのですが、それをExcellを使ってこの答えを導きたいと思い質問をしました。

    サンプル霊
     4670+(6.66×110+0.95×14620)÷6.375=
        ↓
      解答までの経緯
      732.6+13889÷6.375=2293.58 (四捨五入 2294)
      4670 + 2294 = 6964
      一の位を二捨三入して
      =6965

    サンプル例2
      2920+(14730-2295)×2分の1.35÷1.35=
      ↓
      解答までの経緯
      =2920+12435×0.5
      =2920+6217.5
      =9137.5
      一の位を二捨三入して
      =9135

    No.13の回答に寄せられた補足コメントです。 補足日時:2021/07/18 21:50

A 回答 (15件中1~10件)

既に複数の回答者さんが指摘しておられますが、まず用語の使用方法が誤解を招くもとになっています。


「整数第1位で四捨五入」といったら第1位が0~4なら切捨て、5~9なら切上げするという意味になります。
従って「整数第1位で二捨三入」といったら第1位が0~2なら切捨て、3~9なら切上げするという意味になりまが、ご質問者の説明は全く異なるものになっています。
四捨五入の考え方とは異なる意味で二捨三入を使っているのに、四捨五入の考えと同じであるかのように繰り返し説明し、さらに混乱を招いています。
ただし、これはあくまでも数値を十進法で表記した場合の話です。
ご質問者の説明不足を擁護するものではありませんが、五進法であれば、ご質問者の説明の意味が通じます。
例えば、6963.58を五進法で表記すると、210323.24300・・・となり、整数第1位を二捨三入するということは210323の下1桁の3を切上げて210330にするという意味になります。・・・・①
また、9137.5を五進法で表記すると、243022.222222・・・となり、整数第1位を二捨三入するということは243022の下1桁の2を切捨てて243020にするという意味になります。・・・・②
ここで、①の210330を十進法表記に戻すと、6965となり、②の243020を十進法表記に戻すと9135となり、いずれもご質問者の説明と一致します。
五進法の場合、整数1位を切捨てるなら、十進数を5で割って、その答えの整数部分を5倍すればよいことになります。・・・・④
また、切上げるには④で切捨てしたものに十進数で5を加えればよいことになります。・・・・⑤
さらに二捨三入の「切上げ・切捨て」の判断は十進数を5で割った余りが、3以上なのかどうかで判断し、3以上なら切上げ、そうでなければ切捨てということになります(五進法では0~4までしか数字が登場しないため)。・・・・⑥
前述のとおり、ご質問者のご希望は「五進法で表記した数字の整数第1位を二捨三入する」ということと同じなので、上記を数式化すると
=INT(計算式/5)*5+(MOD(計算式,5)>=3)*5
となります。
上記数式中に「*5」が二回登場するので括弧で括って変形すると
=(INT(計算式/5)+(MOD(計算式,5)>=3))*5・・・⑦
となり、No.5の回答者さんが、このようにお考えになったかどうかは不明ですが、No.5さんの数式と同じになります。
No.10さん、No.11さんが同じ数式、
=CEILING(INT(計算式)-2,5)・・・・⑧
を回答しておられますが、CEILING関数は参照値以上で最も近い「指定した数の倍数」を求める関数です。
上記⑦でINT(計算式)-2を数値Aとすると、=CEILING(数値A,5)となり、数値A以上で最も近い5の倍数が求められることになります。
数値Aが1~5→5、数値Aが6~10→10・・・⑨、数値Aが11~15→15、・・・となりますがINT(計算式)を数値Bとすると数値Aは数値B-2なので、数値Bで表すと
数値Bが3~7→5、数値Bが8~9→10・・・⑩、数値Bが10~12→10・・・⑪、数値Bが13~17→15となります。(⑩、⑪は⑨を二つに分解したものです)
上記のとおり、⑪から整数部分の下1桁が0~2なら切捨て、3~7なら5、⑩から8~9なら切上げとなっていることが判ります。これはご質問者の説明そのものと合致しています。
No.8さんが以下の数式
=ROUNDDOWN(計算式,-1)+IF(RIGHT(ROUND(計算式),1)<3,0,RIGHT(ROUND(計算式),1)>7,10,5)
を回答しておられますが、引数が不足しているというエラーがでます。ROUND関数ではなく、INT関数だと思います。また、RIGHT関数の結果を使用する場合、四則演算では数値として扱われるようですが、比較式では文字として扱われるため、この数式のままでは正しい結果にならないようです。さらに、IF関数のネストも足りません。
そこを修正して、
=ROUNDDOWN(計算式,-1)+IF(RIGHT(INT(計算式),1)*1<3,0,IF(RIGHT(INT(計算式),1)*1>7,10,5))・・・⑫
とすば、この数式もまた整数部分の下1桁が0~2なら切捨て、3~7なら5、8~9なら切上げとなっており、ご質問者の説明そのものと合致しています。
纏めると、ご質問者のご希望を叶える数式は上記の⑦、⑧、⑫の3つあるということになります。
ご質問者は
>Excel がよくわかっていないもので、・・・ 教えて頂いた=CEILING(INT(A1)-2,5)のA1に計算式を入れればよいのですか。
とお尋ねなっており、上記数式のA1の部分に「下記の計算式で、電卓ではこのように求める」という数式を代入したものを示しておられます。
回答者の主旨は数式のA1の部分に電卓の計算式を代入するという意図ではなく、A1セルに計算式そのものを
=4670+((6.66*110)+(0.95*14620))/6.375・・・⑬
というように記述したうえで(あるいは、⑬の式中の各数値を別々のセルに入力してA1セルで⑬の数式を計算させたうえで)、A1セル以外のセルに
=CEILING(INT(A1)-2,5)
を記述すれば、そのセルにご希望の結果が表示されるという意図だと思います。
    • good
    • 0
この回答へのお礼

おっしゃる通り、用語の誤使用が誤解を招いていました。
すごく勉強になりました。
ありがとうございました。

お礼日時:2021/07/19 14:30

人には理解しにくい事例を考えてもらうのですから、正解はご自身にしかわかりません。


長々しい計算は書いて頂かなくていいです。同じことはもう結構です。
何度も書きますが、

「9131~9139までの数字を二捨三入するとどうなるか全部書き出してもらえますか【再々掲】」

ご自身にこれができないなら、どれだけ回答をもらっても合っているかどうか確認できませんよね?
そして、こちらも正しい回答をしているかどうかがわかりません。
    • good
    • 0
この回答へのお礼

おっしゃる通りです。
今後、気を付けて質問したいと思います。
ありがとうございました。

お礼日時:2021/07/19 21:20

こうかな?と思うことはまずやってみてから、できないならどのようにできていないのかを具体的に書いてください。


一度にやらずに、まず最初の計算をしてその答えのセルを回答の式に当てはめてもいいかと思います。

相手に伝わってないのは前にも書きましたがサンプル数が少なすぎるからなのでせめて

>9131~9139までの数字を二捨三入するとどうなるか全部書き出してもらえますか【再掲】

くらいは、やって欲しいものです。
この回答への補足あり
    • good
    • 0
この回答へのお礼

そうですね。気を付けたいと思います。
ご指摘ありがとうございました。

お礼日時:2021/07/18 21:36

>計算式をどうすればよろしいでしょうか。



既に回答されている計算式ではダメなのですか?

また、繰り返しになりますが、スレ主さんが行いたい事は、
二捨三入 では無いです。
このスレの回答者はスレの流れから、スレ主さんの希望を理解して
回答されていますが、今後同種の質問をする時などでは、
二捨三入の言葉を使わない方が良いです。

世間一般に通用しない(間違った)言葉だからです。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。
間違った理解をしていたようです。
以後、気を付けたいと思います。

お礼日時:2021/07/18 21:35

二捨三入ではなくて5単位にするんですね。

二捨三入は3以上切り上げ3未満切り捨てという意味になります。
=CEILING(INT(A1)-2,5)とすれば直近上位の5,10に切り上げします。
-2を入れれば二捨三入(5)、7捨8入(10)です。
0,1,2 →-2,-1,0 →0
3,4,5,6,7 →1,2,3,4,5→5
8,9 →6,7 →10
    • good
    • 0
この回答へのお礼

Excel がよくわかっていないもので、分かりづらい質問をしてすいません。
整数の一の位を二捨三入での解答にはしないといけないのですが、教えて頂いた
=CEILING(INT(A1)-2,5)のA1に計算式を入れればよいのですか。

計算式 ➡ =4670+((6.66*110)+(0.95*14620))/6.375

教えて頂いた計算式 ➡
=CEILING(INT(4670+((6.66*110)+(0.95*14620))/6.375)-2,-2)

全く見当違いの解答であれば訂正をお願いします。


※Excelで下記の通りの解答を得たいのです。
  4670+(6.66×110+0.95×14620)÷6.375=
  ↓
  解答までの経緯
  732.6+13889÷6.375=2293.58 (四捨五入 2294)
4670 + 2294 = 6965 
  一の位を二捨三入して
  =6965


サンプル例2
  2920+(14730-2295)×2分の1.35÷1.35=
  ↓
  解答までの経緯
  =2920+12435×0.5
  =2920+6217.5
  =9137.5
  一の位を二捨三入して
  =9135


計算式をどうすればよろしいでしょうか。
よろしくお願いします。

お礼日時:2021/07/17 15:56

5ずつ繰り上げ繰り下げするなら



=CEILING(INT(A1)-2,5)

とかじゃダメなんでしょうか?
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。
一度この方法で入力してみます。

お礼日時:2021/07/17 14:58

もうちょっとサンプルがないとよくわからない…2例って少なすぎでしょ。



小数点以下は関係なさそうだから、
9131~9139までの数字を二捨三入するとどうなるか全部書き出してもらえますか?
    • good
    • 0

=ROUNDDOWN(計算式,-1)+IF(RIGHT(ROUND(計算式),1)<3,0,RIGHT(ROUND(計算式),1)>7,10,5)



これで下1桁の整数が
0.1.2は0
34567は5
89は10に変換されると思うよ
    • good
    • 0
この回答へのお礼

教えて頂いた通りに計算式を入れてみたのですが、「この関数に対して少なすぎる引数が入力されています」との警告が出ます。
入力方法が間違っているのでしょうか。

計算式➡ =4670+((6.66*110)+(0.95*14620))/6.375


教えて頂いた計算式 ↓
=ROUNDDOWN(4670+((6.66*110)+(0.95*14620))/6.375,-1)+IF(RIGHT(ROUND(4670+((6.66*110)+(0.95*14620))/6.375),1)<3,0,RIGHT(ROUND(4670+((6.66*110)+(0.95*14620))/6.375),1)>7,10,5)

お礼日時:2021/07/17 14:53

すいませんround関数の引数が足りてません。

その辺りはご自分で調整しておいて下さい。
    • good
    • 0

intして2倍してroundしてから2で割れば希望通りのものになっているかと存じます。

つまり
=round(2*int(数値のセル))/2
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!