• ベストアンサー

勤務表で時間の切り捨てをしたいとき

勤務表の計算で、合計勤務時間にばらつきがあるとき、30分以下を切り捨てにするにはどのようにすればよいのでしょう?

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.6

No.2です。 何が駄目なのですか? C1が就業時間ならば =FLOOR(C1*1440,30)/1440 でそのまま出るはずですが。 どう駄目だったのか教えてください。 それともまだ試していませんか?

oobankoban
質問者

お礼

ごめんなさい、シリアル値になっていませんでした。 下地が友人が作った物だったので、気がつかなかったのです。 そして、シリアル値にしたら、結果はバッチリです。 ありがとうございました。

その他の回答 (6)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.7
oobankoban
質問者

お礼

回答ありがとうございます。 毎日30分以下切り捨てです。 そして、月当たりの総労働時間が指定に満たないと、有給を1日引かれます。 この勤務表はそれを避けるために必要なのです。 月の終盤になると、必死に時間あわせをして月ごとの総労働時間になるように調整するのです。 でも、サービス残業で長時間働かされることは有りません。 会社によってそれぞれでしょうが、容認の範囲です。

  • kmmk16
  • ベストアンサー率46% (32/69)
回答No.5

No.4です すいません、=が一個多かったですね D1=IF(MINUTE(C1)>30,C1,FLOOR(C1,TIME(0,30,0)))

oobankoban
質問者

お礼

回答ありがとうございます。 お陰様で、うまくいきました。

  • kmmk16
  • ベストアンサー率46% (32/69)
回答No.4

合計勤務時間が、A1に8:27と入力されていて B1に切捨て結果を表示するとします B1==IF(MINUTE(A1)>30,A1,FLOOR(A1,TIME(0,30,0)))

noname#99913
noname#99913
回答No.3

 30分未満を切り捨てて、時間単位に直すのならA1に分が入っているとして、下の式でできます。 A1  B1 75  =ROUND(INT(A1/30)/2,0) 93  =ROUND(INT(A2/30)/2,0)  計算結果は A1  B1 75  1 93  2

oobankoban
質問者

お礼

回答ありがとうございます。 質問が説明不足で申し訳ありません。 A列 始業1:00 B列 終業5:45 C列 就業時間=B1-A1 となっていて D列にC列の値から30分を未満切り捨てた時間を表したいのですが、 D列にはC列を分にした数字を入れて E列に関数を入れて結果を出すのですね。 分に換算しないで出したいのですが、無理でしょうか。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

合計勤務時間はシリアル値ですか? それでしたら↓で良いかと(A1に合計勤務時間が有る場合) =FLOOR(A1*1440,30)/1440 1440(=24*60)を掛けてシリアル値を分にかえ、30に近い値に切り捨て。最後に1440で割ってシリアル値に戻して居ます。

oobankoban
質問者

お礼

回答ありがとうございます。回答ありがとうございます。 質問が説明不足で申し訳ありません。 A列 始業1:00 B列 終業5:45 C列 就業時間=B1-A1 となっていて D列にC列の値から30分を未満切り捨てた時間を表したいのですが、 やっぱりC列の値を分単位に変換しないとダメなのですね。 このまま行ける方法がないかなぁ・・・と思ってしまったのですが。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

どのような計算方法をなさっているか不明ですが、関数の ROUNDDOWN(数値,桁数) や INT(数値) を利用することで切り捨てが可能です。

oobankoban
質問者

お礼

回答ありがとうございます。 質問が説明不足で申し訳ありません。 A列 始業1:00 B列 終業5:45 C列 就業時間=B1-A1 となっていて D列 C列の値から30分を未満切り捨てた時間を表したいのです。