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

お世話になります。
Excelで時間計算をするシートを作っています。
時刻が入力されたセル(hh:㎜)の㎜が、00~15分なら切り捨てで、(hh:00)
㎜が16~45分なら、(hh:30)
㎜が46~59分なら、(hh+1:00)
と表示されるようにしたいです。

自分で勉強して考えたのは、IF関数を使って、
=IF(MINUTE(B7)>46,(CEILING(B7,"0:15")),IF(45>MINUTE(B7)>30,(CEILING(B7,"0:15"),IF(15>MINUTE(B7),(FLOOR(B7,"0:15"))))
としてみたのですが、動作しません。

申し訳ないですが、わかる方どうぞよろしくお願いいたします。

A 回答 (2件)

CEILING関数は基準値に合わせて切り上げる…のですから、30分単位で使えば良い。


 =CEILING(B7,"0:30")
こうなる。
ただし、このままではダメ。
15分ぶんだけ時間を引いてからCEILING関数に掛ける。
 =CEILING(B7-"0:15","0:30")
これだけです。

分が16~45分なら、15を引いて、1~30になります。
これを30分単位で切り上げれば…30分になりますよね。


・・・本題(こっちが本題かよw)・・・
=IF(MINUTE(B7)>46,(CEILING(B7,"0:15")),IF(45>MINUTE(B7)>30,(CEILING(B7,"0:15"),IF(15>MINUTE(B7),(FLOOR(B7,"0:15"))))
これ、
=IF(MINUTE(B7)>46,
    (CEILING(B7,"0:15")),
    IF(45>MINUTE(B7)>30,
        (CEILING(B7,"0:15"),   ←ここ、閉じ括弧が足りない。
        IF(15>MINUTE(B7),
            (FLOOR(B7,"0:15")
         )
     )
  )
とまあこんなわけで。
考え方は良いと思います。
    • good
    • 0
この回答へのお礼

御解答いただき誠にありがとうございました。15を引いてからCEILING関数にするという発想はなかったです。。本当に助かりました。お聞きしてよかったです。

お礼日時:2017/01/03 21:21

=MROUND(A1-"0:01","0:30")


では如何かと。
    • good
    • 2
この回答へのお礼

御解答いただき誠にありがとうございました。MROUND関数は知らなかったです。このような方法もあるんですね。こちらも勉強させていただきます。

お礼日時:2017/01/03 21:23

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