- ベストアンサー
Excelで作る出勤簿の数式について
- 出勤簿の作成において、出社時間と退社時間を入力すると、勤務時間、残業時間、深夜残業時間が自動的に計算される数式をExcelで作成したいです。
- 出社時間と退社時間を基に、勤務時間を計算するための数式の作成が課題です。また、特定の休憩時間が存在することも複雑さの一因です。
- 例えば、出勤時間が9:00、退社時間が21:00の場合、勤務時間は10.5時間となります。残業時間は2.5時間となり、特定の休憩時間は除外されます。このような条件に基づいて、出勤簿の数式を作成する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- 135ok
- ベストアンサー率34% (26/75)
- 135ok
- ベストアンサー率34% (26/75)
画像を添付しますので、そちらを参照ください。 B3 出社時間を入力 C3 退社時間を入力 D3 =VLOOKUP(B3,出社,2,1) *出社用の表から時間を表示 E3 =VLOOKUP(C3,退社,2,1) *退社用の表から時間を表示 F3 =E3-D3 *退社時間-出社時間 G3 =IF(AND(B3<$G$1,F3>TIME(3,59,0)),TIME(1,0,0),"") H3 =IF(AND(D3<$H$1,E3>$H$2),TIME(0,30,0),"") I3 =IF(AND(D3<$I$1,C3<TIME(9,0,1)),TIME(0,30,0),"") J3 =IF(AND($C3>TIME(4,0,1),$C3<TIME(9,0,1)),TIME(0,30,0),"") K3 =IF(AND($C3>TIME(7,30,1),$C3<TIME(9,0,1)),TIME(0,30,0),"") *出社、退社時間を元に、休憩時間を表示しています。 L3 =F3-SUM(G3:K3) *勤務時間から休憩時間を引いた時間。 M3 =IF(E3-D3>TIME(0,31,0),IF(E3-TIME(18,0,0)-SUM(H3)>TIME(4,0,0),TIME(4,0,0)-H3,C3-TIME(18,0,0)-SUM(H3)),"") *残業時間を出して、休憩時間を引いた時間。 N3 =IF(E3>TIME(22,0,0),IF(D3>TIME(22,0,0),E3-D3-SUM(I3:K3),E3-TIME(22,0,0)-SUM(I3:K3)),"") *深夜時間を出して、休憩時間を引いた時間。 ざっと、関数だけ書いてみました。 何箇所か問題があります。 1、出社時間はこのままでは使えないと思います。 表を少し加工しなしと、思ったとおりの時間が表示されないはずです。 2、出社時間が何時になるかで、残業時間、深夜時間が思ったとおりの時間を表示してくれません。 色々考えました、表を使って対応しないとだめな気がします。 たいした説明も書いていませんので、ご参考程度で読み流してください。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 「勤務時間」と「残業時間」と「深夜残業時間」別に出社時刻・退社時刻で2次元表を作成して 抽出するようにしたら如何でしょうか。 参考例をURLに貼り付けしていますのでご確認下さい。
お礼
なるほどです。ちょっと分かってきました。参考にさせていただきます。
お礼
ご丁寧な回答、ありがとうございます。ならって作り始めたら、いろいろと発見があり、できそうな気がしてきました。カスタマイズして使いたいと思います!