[[20100701125910]] 『パートの勤務時間の計算方法を教えてください』(miko) ページの最後に飛ぶ

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

 

『パートの勤務時間の計算方法を教えてください』(miko)

 タイムカードの時間を元に、パートの給与計算表を作っています。

     タイムカード      実働時間       
         ↓               ↓                  
 日付 ___A___ ___B___  ___C___  ___D___  ___E___  ___F___  ___G___  ___H___
   1   出勤    退勤     出勤     退勤    時間計  昼勤務   夜勤務   深夜勤務   
   2   16:46   22:34    17:00    22:30    5:30              5:00      0:30   
   3   10:53   19:04    11:00    19:00    8:00     6:00      ?     
   4   
   5       
   6         
   ・
   ・
   ・ 
 C2=IF(A2="","",CEILING(A2,TIME(,15,))) 
 D2=IF(B2="","",FLOOR(B2,TIME(,15,))) 
 E2=IF(COUNT(A2:B2)<2,"-",D2-C2) 
 F2=IF(OR(C2="",C2>=TIME(17,,)),"",IF(D2<=TIME(17,,),D2-C2,IF(D2>TIME(17,,),TIME(17,,)-$H9))) 
 G2=IF(OR(C2="",D2<TIME(17,,)),"",IF(D2>=TIME(22,,),TIME(22,,)-C2,IF(D2<TIME(22,,),D2-C2,IF(C2>=TIME(17,,),D2-TIME(17,,))))) 
 H2=IF(OR(C2="",D2<TIME(22,,)),"",IF("24:00"-D2=0,TIME(2,,),D2-TIME(22,,))) 

  こちらを参考にしながら、一応ここまでやってみたのですが、G列の「夜勤務」がうまく求められません。 

  また、支店によっては深夜0:00を回って勤務している人がいるため、現在のHの式では求められません。 

 正しい方法を教えてください。

 ・昼勤務(〜17:00)夜勤務(17:00〜22:00)深夜勤務(22:00〜)
 
 ・昼勤務(〜17:00)夜勤務1(17:00〜18:00)夜勤務2(18:00〜22:00)深夜勤務(22:00〜)
 
 ・15分単位 

 ・休憩時間は、後から引きます。 

 エクセル Excel2007
 OS Windows Vista

 お願いします。

 +++++
 ←行頭を半角スペースで始めると書き込みの改行位置が反映されます。

 >・昼勤務(〜17:00)夜勤務(17:00〜22:00)深夜勤務(22:00〜)
 >・昼勤務(〜17:00)夜勤務1(17:00〜18:00)夜勤務2(18:00〜22:00)深夜勤務(22:00〜)

 1.上の記述は、表の種類は二つあると云うことですか?
   ※ サンプルに「夜勤務1」と「夜勤務2」の列が見当たらないのですが。。。

 2.過去の質問でしばしば言及されたのですが、「夜勤務」を計上する条件に、
    休憩時間を差し引いた「時間計」が8時間以上でないといけない、と云う縛りがあったのですが、
   mikoさんとこは、配慮不要ですか?

 (半平太) 2010/07/01 16:31

>半平太さん

レスありがとうございます!返事が遅れて申し訳ありません。

1.上の記述は、表の種類は二つあると云うことですか?

   ※ サンプルに「夜勤務1」と「夜勤務2」の列が見当たらないのですが。。。

 そうです。
 支店ごとに表を使い分ける予定です。

 「A支店」 

日付 ___A___ ___B___ ___C___ ___D___ ___E___ ___F___ ___G___ ___H___

   1   出勤    退勤     出勤     退勤    時間計  昼勤務   夜勤務   深夜勤務   
   2   16:46   22:34    17:00    22:30    5:30              5:00      0:30   
   3   10:53   19:04    11:00    19:00    8:00     6:00      ?     
   4   
   5       

 「B支店」 

日付 ___A___ ___B___ ___C___ ___D___ ___E___ ___F___ ___G___ ___H___ ___I___

   1   出勤    退勤     出勤     退勤    時間計  昼勤務  17-18夜  18-22夜  深夜勤務   
   2   16:46   22:34    17:00    22:30    5:30               ?   ?     0:30
   3   10:53   19:04    11:00    19:00    8:00     6:00      ?      ?
   4   
   5      

2.過去の質問でしばしば言及されたのですが、「夜勤務」を計上する条件に、

    休憩時間を差し引いた「時間計」が8時間以上でないといけない、と云う縛りがあったのですが、
   mikoさんとこは、配慮不要ですか?

 大丈夫だと思います。
 18:00から出勤する夜勤務のみの人もいますし。。。

ちなみに休憩時間は、合計勤務時間が6:15以上になった場合にカットします。
 6:15〜 15分カット
 6:30〜 30分カット
 6:45〜7:45 45分カット
 8:00〜 60分カット

=IF(E2="-","--",IF(E2<TIME(6,,),TIME(,,),IF(E2>=TIME(8,,),TIME(1,,),IF(E2>=TIME(6,45,),TIME(,45,),IF(E2>=TIME(6,30,),TIME(,30,),IF(E2>=TIME(6,15,),TIME(,15,)))))))

こんな感じの式です。(あってますか?)

タイムカードで休憩が押してある場合は、そちらを優先します。

(miko)


 ※1 時間がゼロの場合、「0:00」が表示されてしまいますので、
   空白に見せるため、セルの書式(表示形式)をユーザー定義で
   [h]:mm;G/標準;;@ と設定してください。

 ※2 式中のROUND()は、上の「0:00の非表示」絡みで存在しています。

 (1) C2セル =IF(A2="","",CEILING(A2,TIME(,15,)))

 (2) D2セル =IF(B2="","",FLOOR(B2,TIME(,15,))+(B2<A2))

 (3) E2セル =IF(COUNT(A2:B2)<2,"-",D2-C2)

 (4) F2セル =IF(E2="-","",ROUND(MAX(0,MIN(D2,"17:00")-C2),14))
 (5) G2セル =IF(E2="-","",ROUND(MAX(0,MIN(D2,"22:00")-MAX(C2,"17:00")),14))
 (6) H2セル =IF(E2="-","",ROUND(MAX(0,D2-"22:00"),14))

 (7) G10セル =IF(E10="-","",ROUND(MAX(0,MIN(D10,"18:00")-MAX(C10,"17:00")),14))
 (8) H10セル =IF(E10="-","",ROUND(MAX(0,MIN(D10,"22:00")-MAX(C10,"18:00")),14))

  行 __A__ __B__ __C__ __D__ ___E___ ___F___ ___G___ ____H____ ____I____ __J__
   1 出勤  退勤  出勤  退勤  時間計  昼勤務  夜勤務  深夜勤務  休憩           
   2 16:46 22:34 17:00 22:30 5:30            5:00    0:30                     
   3 10:53 19:04 11:00 19:00 8:00    6:00    2:00              1:00           
   4 16:44 23:15 16:45 23:15 6:30    0:15    5:00    1:15      0:30           
   5 17:30 1:00  17:30 25:00 7:30            4:30    3:00      0:45           
   6                         -                                 --             
   7                                                                          
   8                                                                          
   9 出勤  退勤  出勤  退勤  時間計  昼勤務  夜勤務1 夜勤務2   深夜勤務  休憩 
  10 16:46 22:34 17:00 22:30 5:30            1:00    4:00      0:30           
  11 10:53 19:04 11:00 19:00 8:00    6:00    1:00    1:00                1:00 
  12 16:44 23:15 16:45 23:15 6:30    0:15    1:00    4:00      1:15      0:30 
  13 17:30 1:00  17:30 25:00 7:30            0:30    4:00      3:00      0:45 
  14                         -                                           --   

 >ちなみに休憩時間は、・・・=IF(E2="-","--",IF( ・・・
 >こんな感じの式です。(あってますか?) 

 式の中身を見ておりません。m(__)m 結果は正しいように思います。
 こんな式でも求められます。ご参考まで。
  ↓
 I2セル =IF(E2="-","--",LOOKUP(E2*1440+0.1,{0,0;375,15;390,30;405,45;480,60})/1440)

 (半平太) 2010/07/02 14:32

ありがとうございます!!
早速やってみます☆
(miko)

コメント返信:

[ 一覧(最新更新順) ]


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