プロが教えるわが家の防犯対策術!

計算した結果(=A1*0.9)の1の位が
0~2=切り捨て
3~7=5
8~9=切り上げ

という風に表示したいのですが、どうすればいいでしょう。

A 回答 (7件)

No.2です。



=IF(MOD(INT(A1*0.9),5)<3,INT(A1*0.18)*5,INT(A1*0.18)*5+5)

もう少しシンプルになったら再投稿します。
    • good
    • 1
この回答へのお礼

お返事おそくなりました。
2度の回答ありがとうございます。
私もIF文で、、、と考えたのですが、この式にはまったくたどり着きませんでした。
これだと計算結果を表示させるセルが不要でいいですね。
ありがとうございました。

お礼日時:2004/07/25 01:18

ツール→アドイン→分析ツールにチェックで OK



=MROUND(A1*9,"5")
    • good
    • 0
この回答へのお礼

ありがとうございます。
現在アドインがインストールされておらず、
残念ながらすぐに結果を確認できないのですが、
インストール出来次第、この関数使ってみます。
まずはお礼まで。ありがとうございました。

お礼日時:2004/07/25 01:07

ユーザー関数を作ってみました。


ツール-マクロ-VBEで出てくる画面の、メニューで
挿入-標準モジュールをクリックして出てくる画面において、下記をコピーし貼りつける。
Function marume(a)
n = Int(Int(a) Mod 10)
Select Case n
Case Is <= 2
m = 0
Case 3 To 7
m = 5
Case Is >= 8
m = 10
End Select
marume = 10 * Int(a / 10) + m
End Function
ワークシートに戻って、A列にデータがあるとして
B1に=marume(A1)と入れて下方向に複写する。
(例データ)
(A)  (B列)
23.925
134.5135
0.50
1238.41240
129.44130
121.35120
1222.971220
2333.672335
    • good
    • 0
この回答へのお礼

やってみました。できました!
構文を読んでも私には意味ができませんが(昔勉強したのに。。。)、わざわざ作ってくださり、ありがとうございました。

お礼日時:2004/07/25 01:09

#4です。


説明が足りませんでした。

セルB7に=A1*0.9が入っています(汗!!)
    • good
    • 0

=FLOOR(B7+2,5)



では、どうですか。
    • good
    • 0
この回答へのお礼

すごい!できました。
関数って、やっぱり数学的頭脳がないと使いこなせないなーと思いました。(どうして+2なんだろうと考え込みました)ありがとうございました。

お礼日時:2004/07/25 01:13

=IF(MOD(INT(A1*0.9),5)<3,INT(A1*0.9)-MOD(INT(A1*0.9),5),INT(A1*0.9)-MOD(INT(A1*0.9),5)+5)



もう少しシンプルになるか考えて、見つかれば再投稿しますね。
    • good
    • 0

=A1*0.9 の代わりに



=IF(INT(MOD(A1*0.9,10))<=2,ROUNDDOWN(A1*0.9,-1),IF(INT(MOD(A1*0.9,10))<=7,ROUNDDOWN(A1*0.9,-1)+5,ROUNDUP(A1*0.9,-1)))

とされてはいかがでしょうか。
A1*0.9を10で割った余りの整数部分(つまり1の位)について場合分けをしています。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
お礼が遅くなり申し訳ございません。
こういう関数が思いつくなんて、すごいですね。
とても参考になりました。
ありがとうございました。

お礼日時:2004/07/25 01:20

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