• 締切済み

エクセルで時間を切り上げ計算したいのですが分かりません。

質問します。エクセルでタイムカード等の時間を計算する場合ですが、例えば20分に終了した場合30分に切り上げ、19分に終了した場合00すなわち19分切り捨てにする関数等はありますか? 17:19分の場合→17:00と切捨て 17:20分の場合→17:30と切上げる場合の関数もしくは方法をご教授下さい。よろしくお願いします。

みんなの回答

noname#204879
noname#204879
回答No.5

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

gyaogyao
質問者

お礼

大変役立ちました。ありがとうございました。

  • syn-niko2
  • ベストアンサー率42% (9/21)
回答No.4

A1に時間がある場合にA2に =IF(MINUTE(A1)<20,TIME(HOUR(A1),0,0),IF(MINUTE(A1)<40,TIME(HOUR(A1),30,0),TIME(HOUR(A1)+1,0,0))) でどうですか? MINUTE(A1)で「分」の部分だけとりだし、 IFで(論理式)→「分」の部分が「20」より小さければ (真の場合)→A1の「時間」部分「HOUR(A1)」と0分、0秒をTIME関数の引数に設定し時間のシリアル値にもどします。 (偽の場合)→「分」の部分が「20」以上であれば、 さらに偽の部分にもう一度IFを使って (論理式)→A1の「時間」部分が「40」より小さければ (真の場合)→A1の「時間」部分「HOUR(A1)」と30分、0秒をTIME関数の引数に設定し時間のシリアル値にもどします。 (偽の場合)→A1の「時間」部分が「40」以上の場合は、 A1の「時間」部分「HOUR(A1)」に「1」を足して0分、0秒をTIME関数の引数に設定し時間のシリアル値にもどします。 説明が上手く出来なくてすみません。これで分かりますか?

gyaogyao
質問者

お礼

ありがとうございました。活用させていただきます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

B2に退社時間があるとして30分単位に2/3で四捨五入として =INT(INT(B2*144)/3)/48 上記の説明 144倍で小数点以下切捨てで10分単位の切捨て その結果を3で割った結果(30分単位)を四捨五入で 10分と40分を切り捨て、20分と50分を切り上げ、0分と30分はそのまま 48(1日=24*2)で割ることで元の時刻形式に戻します。

gyaogyao
質問者

お礼

参考になりました。ありがとうございます。説明自体が私には少し難しいようです。もう少し勉強します。

  • zoon1011
  • ベストアンサー率37% (17/45)
回答No.2

前の回答者さんも気にされていますが、切上げ/切捨て条件が不明です。 関数の回答を書く時間は無いので省略させて頂きますが、 if関数とdate関数で出来ると思います。 if関数の中にdate関数が入る格好です。 date関数で「分」の部分を抜取って 切上げ/切捨て条件に従った命令をif関数に書きます。

gyaogyao
質問者

補足

大変申し訳ございません。 切上げ/切捨て条件ですが例えば 17:19分の場合17:00に切下げ 17:20分の場合17:30に切上げ 17:31分の場合17:30に切下げ 17:50分の場合18:00に切上げるという風に30分単位で かつ指定された時間で切上げ切捨てをする問い場合です。 また上記では20分を基準にしていますが25分の場合どのようにすればいいでしょうか?IF関数を使う場合、時間はどのように扱えばいいのでしょうか?

noname#77845
noname#77845
回答No.1

31分の場合は?

gyaogyao
質問者

補足

大変申し訳ございません。 切上げ/切捨て条件ですが例えば 17:19分の場合17:00に切下げ 17:20分の場合17:30に切上げ 17:31分の場合17:30に切下げ 17:50分の場合18:00に切上げるという風に30分単位で かつ指定された時間で切上げ切捨てをする問い場合です。 また上記では20分を基準にしていますが25分の場合どのようにすればいいでしょうか?IF関数を使う場合、時間はどのように扱えばいいのでしょうか?