アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の結果になるように五捨六入したいのですが、
何か簡単な関数はありますでしょうか?
ご存知の方がいらしたら教えてください。

ちなみに、
=IF([セル]>0.5,ROUNDUP([セル]-0.5,0),IF([セル]<-0.5,-ROUNDUP(ABS([セル])-0.5,0),0))
が自分の作った式です。

5.500⇒5
5.501⇒6
3.500⇒3
3.510⇒4
0.000⇒0
-0.200⇒0
-0.500⇒0
-0.501⇒-1

A 回答 (7件)

単純に丸める桁数の数字だけを勘案するのなら、


簡単ですが、それ以下の数字も考慮するとなると
あまり簡単にはいきませんね。

とりあえず、こんな式。

=IF(ABS(A1-TRUNC(A1))>0.5,TRUNC(A1)+1*SIGN(A1),TRUNC(A1))

ただ、一般的には○捨×入というのは、丸める桁の数字しか対象にしないので、 小数点一桁目で丸めるなら、5.500 も、5.501 も同じですけどね。
    • good
    • 0
この回答へのお礼

お礼が遅くなりましたが、ありがとうございました。
とても助かりました。

お礼日時:2005/06/30 18:53

こんな方法もあります。


=FLOOR(CEILING([セル],0.5*SIGN([セル])),SIGN([セル]))
    • good
    • 0
この回答へのお礼

ありがとうございます。
お礼がおそくなりまして、申し訳ありませんでした。

お礼日時:2005/06/30 18:58

こんにちは。

maruru01です。

とりあえず、こんな感じ。

=ROUND(A1-SIGN(A1)*NOT(MOD(A1,0.5))*0.1,)

そもそも、負の数側では、
「<=0.5捨、>0.5入」
ですらないんですよね。
    • good
    • 0
この回答へのお礼

お礼がおそくなりましたが、ありがとうございました。
そうです。むずかしいんですよね・・・ (^^;;
新しく関数作ってほしいです・・・

お礼日時:2005/06/30 18:57

No.4です。


失礼。書いてるうちにNo.3が先に回答でました。
    • good
    • 0

何桁目を5捨6入するのでしょうか。


それとも、No.1さんに対するお礼のように、
  <=0.5捨、>0.5入
なのでしょうか。

何桁目かを5捨6入するならNo.1さんが最もシンプルでしょう。
そうでなければ、セルの値の小数部分を取り出し、0.5より大きい
場合は int(セルの値) 、0.5以下であれば int(セルの値)+1
    • good
    • 0
この回答へのお礼

アドバイス大変ありがとうございました。
あまりに、お礼が遅くなり申し訳ありません。

お礼日時:2005/06/30 18:55

以下の方法は如何でしょうか。



=ROUND(ABS(セル)-0.001,0)*SIGN(セル)
    • good
    • 0
この回答へのお礼

ありがとうございました。
お礼がかなり遅くなりましてもうしわけありませんでした。
ぺこ <(_ _)>

お礼日時:2005/06/30 18:51

=ROUND(A10-0.1,0)


四捨五入関数を使ってみます
※ A10はセルの値

五捨六入を少数代一位で行う場合
四捨五入より0.1だけ大きいわけですから
セルの値から0.1を引いた数で四捨五入
するといいです
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
m(_ _"m)ペコリ
ただ、これだと5.50001が6にならないのです。
最初私も同じ式を作ったんですが↑の問題がおきてしまったのです。

でもありがとうございます。

お礼日時:2005/06/17 13:27

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