プロが教える店舗&オフィスのセキュリティ対策術

前回質問の仕方が悪く正確な回答が得られなかったため再度ご質問します。

エクセルでタイムカード等の時間を計算したいのですが、
20分を基準に30分単位で切上げ・切捨てを行う場合どのようにすればいいでしょうか?
ご教授願います。

例えば20分毎を基準に

17:19分の場合17:00に切下げ
17:20分の場合17:30に切上げ
17:49分の場合17:30に切下げ
17:50の場合18:00に切上げ

という具合に20分を基準に30分単位で切上げ切捨てをする場合です。

A 回答 (2件)

基本的には前回のご質問に対する回答と同じです。


http://oshiete1.goo.ne.jp/qa3077083.html

上記では25分を基準に
=FLOOR(A1+"0:05","0:30")でしたが、
書き直すとこういう事です。
=FLOOR(A1+"0:30"-"0:25","0:30")

●●分を基準にするなら、
=FLOOR(A1+"0:30"-"●●","0:30")

つまり、20分が基準であれば
=FLOOR(A1+"0:30"-"0:20","0:30")

30分から引くと10分ですよね?
なので "0:30"-"20:00"  は単に "10:00" と記述して
=FLOOR(A1+"0:10","0:30")
でOKです。

これなら、例えば15分単位ではどうすれば?と思っても大丈夫ですね♪
    • good
    • 0
この回答へのお礼

何度もありがとうございました。ベストアンサーです。前回の関数の意味が分からなかったですがこの説明なら応用もききそうです。
ありがとうございました。

お礼日時:2007/06/13 00:08

時間はシリアル値という数値で処理されています。


これは1日を1としてカウントされているため時間は小数点以下の値で示されます。
1時間=1/24
1分=1/1440
30分ならシリアル値を48倍すれば30分以上は整数になります。
20分で切り上げるのであれば、あらかじめシリアル値に10分を加えておき
整数にした所で小数点以下を切り捨てた後に48分の1してシリアル値に戻すことで
質問の回答になります。

A1 に時間が入力されているとすると次のような数式になります。
 =INT((A1+"00:10")*48)/48
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/13 00:09

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