advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 26 for タイムカード 深夜残業 (0.006 sec.)
タイムカード (251), 深夜残業 (180)
[[20070321231007]]
#score: 12321
@digest: 0a171480a748a8b282233512b992ce44
@id: 29621
@mdate: 2007-03-22T14:48:53Z
@size: 7083
@type: text/plain
#keywords: 残s (74983), 残e (71074), timeserial (62112), 常e (37491), 夜s (37491), 常s (37491), 夜e (35537), 常残 (33658), 深夜 (27121), 憩= (23246), 通残 (22933), 夜残 (22152), 1440 (18669), 夜深 (14440), 憩2 (14320), 業普 (12619), 社) (12606), 憩休 (11853), 間考 (9146), 残業 (8912), 休憩 (8499), round (8431), 通常 (8007), 業深 (7941), 常時 (7376), 退社 (7113), 出勤 (6958), 時出 (5452), 勤が (5415), は壊 (5311), 間開 (5070), 壊し (4649)
タイムカードの計算式教えてください』(ちか)
F12=出勤時間 G12=退社時間 I12=通常勤務時間 K12=普通残業 M12=深夜 O12=深夜残業 AG AI AK 10 開始時間 開始時間 開始時間 11 8:00 12:00 17:00 12 終業時間 終業時間 終業時間 13 17:00 21:00 2:00 14 通常 通常 通常 15 7:50 7:50 4:00 16 休憩 休憩 休憩 17 1:10 1:10 1:00 18 普通残業 普通残業 普通残業 19 17:00 21:00 20 〜 〜 休憩 21 22:00 22:00 10分 22 深夜 深夜 深夜 23 22:00 22:00 22:00 24 〜 〜 〜 25 23:00 23:00 23:00 26 深夜残業 深夜残業 深夜残業 27 2:00 2:00 2:00 28 〜 〜 〜 29 8:00 8:00 8:00 と、かなり複雑で2週間考えてみたのですが、作っては壊し作っては壊しの繰り返しで 私の頭の調子が悪くなってしまいました。 時間の計算に強い人がいましたらどうか力を貸してください。 F G I K M O に入る式を教えてください。 出勤、退勤はすでに時間を丸めてあります。 17:00が開始時間のときは通常時間内に休憩が1時間で深夜時間に10分の休憩が入るようになります。 ---- >2週間考えてみたのですが、作っては壊し作っては壊しの繰り返しで・・・ なら質問する前に一度ここの過去ログ見たほうが。。。 http://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%AB%E3%83%BC%E3%83%89&perpage=10&attr=@uri+STRINC+kazuwiki&order=@uri+STRD&clip=-1&navi=0 (dack) ---- 計算をするために必要な情報が抜けているように思います。 1.勤務パターンがAG,AI,AKの3パターン有るようですが、それぞれの区別はどこで行いますか? 2.普通勤務時間、普通残業、深夜、深夜残業はそれぞれどのような計算を行うのですか? 3.AG〜AKの表で深夜の23:00と深夜残業の2:00の間の空白期間は何を示しているのですか? など・・・(Hatch) ---- A B C D E F G H I J K L M N O 1 出勤 退勤 5:00 8:00 10:00 10:05 12:00 13:00 15:00 15:05 17:00 18:00 22:00 22:10 29:00 2 9:45 15:00 0:15 0:05 1:55 1:00 2:00 下記休憩時間 10:00-10:05 12:00ー13:00 15:00ー15:05 17:00 18:00 22:00ー22:10 C2 =IF(OR(D$1<$A2,C$1>$B2),"",MIN(D$1,$B2)-MAX($A2,C$1)) 右へフィールコピー (KI) ---- P Q R 1 普通 残業 深夜 2 7:50 1:00 普通 残業 深夜 =MIN(SUM(C2,D2,F2,H2,J2,L2),"7:50") =MAX(SUM(C2,D2,F2,H2,J2,L2)-"7:50",0) =N2 (KI) 時間帯は適当に設定してあります. ---- 皆さん、ありがとうございます。 過去のログをみてやってみたのですが自分が初心者過ぎてひとつでも違う ものがあると整理できなくなってしまいます。本当にどうしようもないです。 Hatchさんが指摘してくれたところは私が間違っていました。 深夜は全て22:00から2:00までです。それと、F,Gに関しては何も入れる必要はなかったですね! 通常時間と残業時間と深夜時間と深夜残業の時間に入れる式でした。 通常時間には出勤が8時からの場合は8時から17時までが通常時間で、 出勤が12時からの場合は21時までが通常 時間で、 出勤が17時からの時は22時までが通常時間になる式をいれます。 ここに8時と12時から勤務の場合は休憩を1時間10分引いて17時から勤務の場合は1時間を引きます。 普通残業は出勤が8時の場合は17時から22時までが普通残業になり、出勤が12時の場合は 21時から22時までが普通残業になります。17時出勤の場合は普通残業はありません。 深夜には出勤が8時と12時の場合はは22時以降は深夜になります。 出勤が17時の場合は22時から次の日の2時までが深夜時間になります。 深夜残業は17時出勤の人しかありません。2時以降は全て深夜残業になります。 ---- 3パターンあるらしい勤務形態の区別をどうするのかが分からないので 勝手にE列にA,B,Cと入力して区別するものとします。 関数で書くのは場合分けが面倒なのでVBAで処理してみました。 計算式はKIさんとほとんど同じだと思います。 なお、行のセルを選択してからVBAを実行すれば計算します。 書いておいて無責任ですけど、検証はできていません...(Hatch) E F G H I J K L M N O 11 出勤 退社 通常 普通残 深夜 深夜残 12 A 8:00 1:00 7:50 5:00 3:00 0:00 13 B 12:00 1:00 7:50 1:00 3:00 0:00 14 C 17:00 3:00 4:00 0:00 3:50 1:00 Sub test01() Dim c As Range Dim 出勤 As Long, 退社 As Long Dim 通常s As Long, 通常e As Long, 休憩 As Long, 休憩2 As Long Dim 通常残s As Long, 通常残e As Long Dim 深夜s As Long, 深夜e As Long, 深夜残s As Long, 深夜残e As Long For Each c In Selection If Range("F" & c.Row).Value <= 0 And Range("G" & c.Row).Value <= 0 Then Exit Sub Select Case Range("E" & c.Row).Value Case "A" 通常s = Round(TimeSerial(8, 0, 0) * 1440, 0) 通常e = Round(TimeSerial(17, 0, 0) * 1440, 0) 休憩 = Round(TimeSerial(1, 10, 0) * 1440, 0) 通常残s = Round(TimeSerial(17, 0, 0) * 1440, 0) 通常残e = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜s = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜e = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 休憩2 = 0 深夜残s = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 深夜残e = Round((1 + TimeSerial(8, 0, 0)) * 1440, 0) Case "B" 通常s = Round(TimeSerial(12, 0, 0) * 1440, 0) 通常e = Round(TimeSerial(21, 0, 0) * 1440, 0) 休憩 = Round(TimeSerial(1, 10, 0) * 1440, 0) 通常残s = Round(TimeSerial(21, 0, 0) * 1440, 0) 通常残e = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜s = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜e = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 休憩2 = 0 深夜残s = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 深夜残e = Round((1 + TimeSerial(8, 0, 0)) * 1440, 0) Case "C" 通常s = Round(TimeSerial(17, 0, 0) * 1440, 0) 通常e = Round(TimeSerial(22, 0, 0) * 1440, 0) 休憩 = Round(TimeSerial(1, 0, 0) * 1440, 0) 通常残s = Round(TimeSerial(22, 0, 0) * 1440, 0) 通常残e = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜s = Round(TimeSerial(22, 0, 0) * 1440, 0) 深夜e = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 休憩2 = Round(TimeSerial(0, 10, 0) * 1440, 0) 深夜残s = Round((1 + TimeSerial(2, 0, 0)) * 1440, 0) 深夜残e = Round((1 + TimeSerial(8, 0, 0)) * 1440, 0) End Select 出勤 = Round(Range("F" & c.Row).Value * 1440, 0) 退社 = Round(Range("G" & c.Row).Value * 1440, 0) If 出勤 > 退社 Then 退社 = Round((1 + Range("G" & c.Row).Value) * 1440, 0) End If Range("I" & c.Row).Value = Application.Max(0, Application.Min(通常e, 退社) - Application.Max(通常s, 出勤) - 休憩) / 1440 Range("K" & c.Row).Value = Application.Max(0, Application.Min(通常残e, 退社) - Application.Max(通常残s, 出勤)) / 1440 Range("M" & c.Row).Value = Application.Max(0, Application.Min(深夜e, 退社) - Application.Max(深夜s, 出勤) - 休憩2) / 1440 Range("O" & c.Row).Value = Application.Max(0, Application.Min(深夜残e, 退社) - Application.Max(深夜残s, 出勤)) / 1440 Next c End Sub ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200703/20070321231007.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97018 documents and 608145 words.

訪問者:カウンタValid HTML 4.01 Transitional