• ベストアンサー

エクセルで時間を計算する場合、20分を基準に30分単位で切上げ・切捨てを行う場合どのようにすればいいでしょうか?

前回質問の仕方が悪く正確な回答が得られなかったため再度ご質問します。 エクセルでタイムカード等の時間を計算したいのですが、 20分を基準に30分単位で切上げ・切捨てを行う場合どのようにすればいいでしょうか? ご教授願います。 例えば20分毎を基準に 17:19分の場合17:00に切下げ 17:20分の場合17:30に切上げ 17:49分の場合17:30に切下げ 17:50の場合18:00に切上げ という具合に20分を基準に30分単位で切上げ切捨てをする場合です。

質問者が選んだベストアンサー

  • ベストアンサー
  • poohron
  • ベストアンサー率59% (574/971)
回答No.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分単位ではどうすれば?と思っても大丈夫ですね♪

gyaogyao
質問者

お礼

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

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

時間はシリアル値という数値で処理されています。 これは1日を1としてカウントされているため時間は小数点以下の値で示されます。 1時間=1/24 1分=1/1440 30分ならシリアル値を48倍すれば30分以上は整数になります。 20分で切り上げるのであれば、あらかじめシリアル値に10分を加えておき 整数にした所で小数点以下を切り捨てた後に48分の1してシリアル値に戻すことで 質問の回答になります。 A1 に時間が入力されているとすると次のような数式になります。  =INT((A1+"00:10")*48)/48

gyaogyao
質問者

お礼

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