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

時間で30分以上を切り上げて、30分未満を切り下げて表示させるにはどうしたらいいでしょうか。
例えば、A1に2:30とした場合、A2に3。
A1に2:25とした場合、A2に2。
よろしくお願いします。

A 回答 (6件)

A1に13:28:30方式の時刻の入力があり、B1に質問の処理をした時刻を出すとすると、B1の関数式は


=IF(MINUTE(A1)=30,CEILING(A1+1/1440,"0:30"),IF(MINUTE(A1)>30,CEILING(A1,"0:30"),FLOOR(A1,"0:30")))
実は
=IF(MINUTE(A1)>=30,CEILING(A1,"0:30"),FLOOR(A1,"0:30"))としたかったのですが、
30分丁度の場合、分の30で残ってしまい、Ifの2ネストにせざるを得ませんでした。
ミソは時間定数"0:30"を使っているところにあります。
(テスト例)
A列の書式設定は敢えて秒まで問題にして、hh:mm:ssにしてます。
勤務時間管理では秒は問題にしないでしょうが、問題にしない場合でも、関数式を変える必要がありません。
13:20:1213:00
13:31:0014:00
13:30:0014:00
13:29:3013:00
13:00:0013:00
13:00:0113:00
12:59:5913:00
13:30:0114:00
13:30:0014:00
14:00:0014:00
16:31:0117:00
16:30:5917:00
16:31:0017:00
16:30:5917:00
セルの書式設定(B列)を[h]:mmにすること。

時間の切り下げ、切り上げはかなり有名な問題で「エクセル 切り上げ」でWEB照会すれば、相当数ヒットします。
http://www.winboys.com/howtoxls/xls6/time.htm#20 …
日経PCなどの解説にも見た記憶があります。
既出のご回答は式が随分簡単なんですが、それで十分なのか、私のが複雑にし過ぎなのかどうか、良く色んなケースでテストして使ってください。結果に付いては、私のは大丈夫と思いますが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:49

A1に時刻が入力されているとして、


書式を「時刻形式」で表示するなら =TIME(ROUND(A1*24,0),0,0) 

「数値(標準)」で表示するなら =ROUND(A1*24,0) (#3さんの通り)
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:50

難しく考えすぎかもしれませんね。



=ROUND(A1*24,0)

でいかがですか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:48

=INT(□*48)/2



□に時刻の入ったセルを指定します。
また、上記の式が入ったセルの書式は「数値」にしなくてはいけません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:48

切り上げと切り捨ては、


CEILING(数値,基準値,) FLOOR(数値,基準値,)
ってのがありますね。

参考URLのところで見つけたんですが
もっと簡単な方法もあると思うんですが???

あ、時間の文字列の扱い方もあるので。

参考URL:http://www.ne.jp/asahi/pc-area/net/soft/excel2.htm
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:48

HOUR(A1) でA1の「時」が、


MINUTE(A1) でA1の「分」が得られます。
そんなわけで、以下のようにすればよいでしょう。

=IF(MINUTE(A1)>=30,HOUR(A1)+1,HOUR(A1))
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/02/07 20:47

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