[[20040426150824]] 『勤務時間表などいろいろ』(頭がパニック) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『勤務時間表などいろいろ』(頭がパニック)

以下のような勤務時間表を作成しています。

  出社時間  退社時間  実働時間  残業時間  (内)深夜残業時間

A  15:30   20:30     5.0        0.0        0.0

B  16:00   20:30     4.5        0.0        0.0

C  15:30   20:45     5.0        0.0        0.0

D  15:30   22:30     7.0        2.0        0.5 

Aは通常の形。実働時間表記(ただし30分以下は切り捨て)(基本)

Bは遅刻をしているので、出社時間部分を色で表記したい(数字でも、セルでもかまわない)

Cは残業を15分していますが、30分未満は切捨てなので残業にならない。

Dは残業時間が発生しているので残業時間部分に出る。

ただし22:00以降は深夜残業になるので、深夜残業部分にも計算がでる。

上記を、出社、退社時間を入力したら、すべて出るように

したいのですが。もう泣きそうです。

他に日付やら、勤務表やら
こちらの過去ログを参考に完成できたのですが
もう、頭がいっぱいいっぱいです。
宜しくお願い致します。


 追加条件として、遅刻した時の残業時間の計算をどうするのかが必要かもしれませんね。
 (まさ)

遅れてきた時間については、その分残業を補填。

(定時に退社した場合は除く)

30分遅刻、50分残業したなら、残業30分を補填。

残り20分は30分未満なのでその日の残業は0.0となる。

ただし、同一日でしか条件は当てはまらない。

で、御願いしたいのですが・・・


 深く検証はしていないのですが・・・
 A1セルには、書式→条件付き書式→条件1(1)でセルの値が 次の値より大きい
 右側の空白欄に =TIME(15,30,0) を入れて 書式でお好みのものでよろしいかと。

 C1セルには、=IF(B1<A1,B1+1-A1+B1,B1-A1)
 D1セルには、=IF(A1>B1,C1-TIME(5,0,0),IF(B1-A1<TIME(5,30,0),0,C1-TIME(5,0,0)))

 で、お試しください。(まさ)

 ありがとうございます。

 一つよろしいでしょうか?

 実働時間部分も30分未満の部分は切り捨てにして

 表記するにはどうしたらよいでしょうか?


 横から失礼します。
30分未満の部分を切り捨てする方法ですが、
(A) 出社時間は30分単位で切り上げる。
   退社時間は30分単位で切り捨てる。
       でよいのでしょうか?
(B) 退社時間-出社時間を30分単位で切り捨てるのでしょうか?
 
出社時間15:15 退社時間20:50 の場合
(A) 20:30-15:30=5:00
(B) 20:50-15:15=5:35=5:30
と異なった結果になります。 
  (マーヤ)

説明不足でした。

出社時間に関しては15:30より前に出社してもに実働時間に

反映されません。15:25に来ようが、15:00に来ようが、極端な話

13:00に来ようが同じです。

15:30〜20:30 実働時間5時間ですが

15:00〜20:30 でも、実働時間5時間とみなします。

遅刻のときは上記にあてはまらず、正確な実働時間を表記します。(1分単位)

(A)の退社時間(ただし20:30以降)、(B)に関しては30分単位で切捨てです。

宜しく御願いします。


 今までの条件をまとめてみました。
通常勤務時間帯:15:30〜20:30 (*1)出社時間は15:30以前は全て15:30とみなす。
残業時間帯:20:30〜22:00
深夜残業時間帯:22:00〜
 30分未満は切り捨てる。
遅刻した場合:残業時間がある場合、残業時間から遅刻分を差し引く(同一日に限る)
       1分単位で実働時間を表示する。
 
出社時間はB列、退社時間はC列とした数式です。 
実働時間:=IF(COUNT(B2:C2)<2,0,IF(B2-"15:30">0,C2-B2,FLOOR(C2-"15:30","0:30")))
残業時間:=IF(COUNT(B2:C2)<2,0,IF(B2-"15:30">0,IF((C2-"20:30")-("5:00"-("20:30"-B2))<0,0,FLOOR(C2-"20:30"-("5:00"-("20:30"-B2)),"0:30")),FLOOR(C2-"20:30","0:30")))
深夜残業時間:=IF(COUNT(B2:C2)<2,0,IF(C2-"22:00">0,FLOOR(C2-"22:00","0:30"),0))
 
こんな感じになりました・・・検証願います。
なお、計算誤差は考えておりません (マーヤ)

マーヤ様、ありがとうございます。

かなりいい感じの出勤簿が出来上がりました。

そこでもうひとつ(ホント、基本的なことで申し訳ないですが・・・)

実働時間などの合計を出すと(SUM関数)24:00を区切りに0:00になってしまいます。

これをちゃんとした合計時間表記にするにはどうしたらいいでしょうか??


スイマセン、上記のことわかりました。ユーザー定義をいじればよかったんですね。

これで、仕事がかなりはかどります。月末なので助かりました。ありがとうございました。


実働時間など合計の時間を元に給与の金額を算出したいのですが

ただ単純に合計時間(セル指定(仮5:00))*1000とやると5000:00となってしまいます。

これを金額にて算出するにはどうしたらよいでしょうか。宜しくお願い致します。


1日=24時間=1 1時間=1/24 1分=1/(24*60) と言う数値(シリアル値)で管理されています。

よって、合計時間*24*時給 で計算できます。
表示形式は標準としてください。 (マーヤ)


ありがとうございました。解決できました。今後とも宜しく御願いします。

1分は 1/(24*60) ですね(^^;)・・・ 上も修正しておきます。(マーヤ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.