[[20050807164943]] 『勤務表を作っているのですが』(手配師) ページの最後に飛ぶ

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

 

『勤務表を作っているのですが』(手配師)
はじめまして。
今、勤務表を作っているのですが、計算式がうまくわかりません。
もし、よかったらお教えいただけないでしょうか?

一日の勤務時間の8時間までの給料と、8時間を越えると25%増しになる給料、深夜手当てが22時以降翌7時まで50%増しになる給料。その3つの計算式がどうしてもわかりません。


 時間給を1000と仮定し、退勤時刻が24:00以降、例えばAM2:00なら26:00と入力することにします。
	A	B	C	D	E
1	出勤	退勤	8H内	8H超	深夜
2	10:00	26:00	8000	5000	6000
 C1:=MIN("8:00",MIN("22:00",B2)-A2)*24*1000
 D1:=(MIN("22:00",B2)-A2-"8:00")*24*1000*1.25
 E1:=(MIN(B2,"31:00")-MAX(A2,"22:00"))*24*1000*1.5
これでは、演算誤差がでる可能性があるので
時刻を分単位の整数値に直して計算するようにすると
 C1:=MIN(480,MIN(1320,ROUND(B2*1440,0))-ROUND(A2*1440,0))/60*1000
 D1:=(MIN(1320,ROUND(B2*1440,0))-ROUND(A2*1440,0)-480)/60*1000*1.25
 E1:=(MIN(ROUND(B2*1440,0),1860)-MAX(ROUND(A2*1440,0),1320))/60*1000*1.5
後は、エラー処理を追加することになると思います。
こんな感じでどうでしょう。
 # なお、お金が絡むことですので、検算は充分行ってください。
  (Hatch)

 ありがとうございます。大変たすかりました。
 時間だけを出す方法はあるのでしょうか?

 例えば、C1:=MIN(480,MIN(1320,ROUND(B2*1440,0))-ROUND(A2*1440,0))/60*1000 は
 時間×時給(×割増し)になっていますので
 =MIN(480,MIN(1320,ROUND(B2*1440,0))-ROUND(A2*1440,0))/60
 で「○.○○」の形式の「時間」がでます。
 =TEXT(MIN(480,MIN(1320,ROUND(B2*1440,0))-ROUND(A2*1440,0))/1440,"[h]:mm")*1
 とすると、シリアル値になりますので、表示形式で「○:○○」と表示できます。
   (Hatch)

 申し訳ございません。なんかうまくいきません。
   
時給 出勤 退勤 休憩 時間 勤務1@ S.TotalA 勤務2B S.TotalC 深夜D S.TotalE 
交通費F TaxG TotalH
 
@は、退勤−出勤−休憩で出た時間の内、8時間以内の勤務時間。
Aは、@の時間分の給料					
Bは、時間の内、8時間以上、9時間目からの勤務時間					
Cは、Bの時間分の給料。25%増し。		
Dは、22時〜翌7時までの深夜手当ての時間。		
Eは、Dの時間分の給料。50%増し。		
Gは、消費税5%		
Hは、A+C+E+F+Gの合計。		
 
なんですが、どうでしょうか?

時間の内、8時間以上、9時間目「まで」の勤務時間ぶんはどこへ?

 >Gは、消費税5%
 これは、どこに5%を掛けて計算するのでしょうか?
 >Hは、A+C+E+F+Gの合計。
 消費税も加えるのでしょうか?    (Hatch)

 E1:=IF(COUNT(B2:C2)=2,TEXT((ROUND(C2*1440,0)-ROUND(B2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1,"") 
 F1:=IF(COUNT(B2:C2)<2,"",TEXT(MIN(480,MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1)
 G1:=ROUND(F2*24*A2,0)
 H1:=IF(OR(COUNT(B2:C2)<2,(MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0)-ROUND(D2*1440,0)-480)<=0),"",
TEXT((MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0)-ROUND(D2*1440,0)-480)/1440,"h:mm")*1)
 I1:=ROUND(H2*24*A2*1.25,0)
 J1:=IF(OR(COUNT(B2:C2)<2,ROUND(C2*1440,0)-1320<=0),"",
TEXT((MIN(ROUND(C2*1440,0),1860)-MAX(ROUND(B2*1440,0),1320))/1440,"h:mm")*1)
 K1:=ROUND(A2*J2*24*1.5,0)
 こんな感じでしょうか・・・
 交通費〜Totalは上に書いたように分からないので、省略 (Hatch)
 
	A	B	C	D	E	F	G	H	I	J	K	L	M	N
1	時給	出勤	退勤	休憩	時間	勤務1@	S.TotalA	勤務2B	S.TotalC	深夜D	S.TotalE	交通費F	TaxG	TotalH
2	1000	8:00	23:00	1:00	14:00	8:00	8000	5:00	6250	1:00	1500

 ありがとうございます。
消費税は、ACEFにかかります。
HはGで消費税を出しているので、A+C+E+F+Gで消費税込みに。
言い換えれば、Hで消費税込みの総額になり、その消費税分をGで別記。
となります。			

 残っていた分
 TaxG:M2:=ROUNDDOWN(SUM(G2,I2,K2,L2)*0.05,0)
 TotalH:N2:=SUM(G2,I2,K2:M2)
 でどうでしょうか。  (Hatch)

 ありがとうございます。できました。
しかしながら、HのTOTALを求めるときに、途中の深夜とか、8時間以上が発生しないとき、
エラーになってしまいます。合計がでません。#VALUEとでます。

 I2:=IF(COUNT(A2,H2)<2,"",ROUND(H2*24*A2*1.25,0))
 K2:=IF(COUNT(A2,J2)<2,"",ROUND(A2*J2*24*1.5,0))
 に変えましょう。  (Hatch)

 本当にありがとうございます。
@の部分の時間が、22時以降、5時間から変わらないのですが。

 普通勤務とは22時までの勤務を指すものと解釈しています。
 8時間の制限は普通勤務にのみ関係していると解釈しています。
 つまり、こちらで勝手に条件を設定しています。(計算の条件が提示されていないので)
 ということで、そちらの条件に合わせて数式を改変するなりしたらどうでしょう?
   (Hatch)

何度も申し訳ございません。
いかんせん、数式がうまくいきません。
普通勤務は22時までです。8時間の制限は、普通勤務のみではなく、深夜にも絡まる場合があります。

本当に、お手数おかけして申し訳ありません。
ただひとつ、Bの勤務2のH1:=IF(OR(COUNT(B2:C2)<2,(MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0)-ROUND(D2*1440,0)-480)<=0),"",
TEXT((MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0)-ROUND(D2*1440,0)-480)/1440,"h:mm")*1)
なんですが、8時間以上、8時間1分からの対応の分を教えていただけませんか?


 これまでに回答した数式は、こちらで勝手に設定した条件を元にしていますので
 そちらの条件に合っていないことがはっきりしました。
 残念ながら、上の式を変えることでは対応できないような気がします。
 計算の仕組み? 計算のやり方を変える必要があると思います。
 そちらの条件を詳しく、もしくは具体例を示してみたらどうでしょう?
  (Hatch)

 ざーっと書いてみます。演算誤差は考慮していません。
 こんな感じの計算では? と想像してみました。O,P列を作業列として使用しています。
 (一部は前ののを使い回していますので、数式に統一感がありません(^^;))
F1:=IF(COUNT(B2:C2)<2,"",MIN("8:00",SUM(O2:P2)-D2))
H1:=IF(O2-F2-D2<0,0,O2-F2-D2)
J1:=IF(SUM(O2:P2)-D2-F2-H2<0,0,SUM(O2:P2)-D2-F2-H2)
O1:=TEXT((MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0))/1440,"h:mm")*1
P1:=IF(OR(COUNT(B2:C2)<2,ROUND(C2*1440,0)-1320<=0),"",
TEXT((MIN(ROUND(C2*1440,0),1860)-MAX(ROUND(B2*1440,0),1320))/1440,"h:mm")*1)
	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P
1	時給	出勤	退勤	休憩	時間	勤務1@	S.TotalA	勤務2B	S.TotalC	深夜D	S.TotalE	交通費F	TaxG	TotalH		
2	1000	8:00	25:00	1:00	16:00	8:00	8000	5:00	6250	3:00	4500	2000	1037	21787	14:00	3:00
	1000	16:00	27:00	1:00	10:00	8:00	8000	0:00	0	2:00	3000	2001	650	13651	6:00	5:00
	1000	14:00	24:00	1:00	9:00	8:00	8000	0:00	0	1:00	1500	2002	575	12077	8:00	2:00
以上 (Hatch)

 数式を変更してみました。
 E2:=IF(COUNT(B2:C2)=2,TEXT((ROUND(C2*1440,0)-ROUND(B2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1,0)
 F2:=IF(COUNT(B2:C2)<2,0,TEXT(MIN(480,ROUND(O2*1440,0)+ROUND(P2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1)
 G2:=IF(OR(A2="",F2=0),0,ROUND(F2*24*A2,0))
 H2:=IF(F2=0,0,IF(ROUND(O2*1440,0)-ROUND(F2*1440,0)-ROUND(D2*1440,0)<0,0,
TEXT((ROUND(O2*1440,0)-ROUND(F2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1))
 I2:=IF(OR(A2="",H2=0),0,ROUND(H2*24*A2*1.25,0))
 J2:=IF(P2=0,0,IF(SUM(ROUND(O2*1440,0),ROUND(P2*1440,0))-SUM(ROUND(D2*1440,0),ROUND(F2*1440,0),ROUND(H2*1440,0))<0,0,
TEXT((SUM(ROUND(O2*1440,0),ROUND(P2*1440,0))-SUM(ROUND(D2*1440,0),ROUND(F2*1440,0),ROUND(H2*1440,0)))/1440,"h:mm")*1))
 K2:=IF(OR(A2=0,J2=0),0,ROUND(N(A2)*N(J2)*24*1.5,0))
 M2:=ROUNDDOWN(SUM(G2,I2,K2,L2)*0.05,0)
 N2:=SUM(G2,I2,K2:M2)
 O2:=IF(COUNT(B2:C2)<2,0,TEXT((MIN(1320,ROUND(C2*1440,0))-ROUND(B2*1440,0))/1440,"h:mm")*1)
 P2:=IF(OR(COUNT(B2:C2)<2,ROUND(C2*1440,0)-1320<=0),0,
TEXT((MIN(ROUND(C2*1440,0),1860)-MAX(ROUND(B2*1440,0),1320))/1440,"h:mm")*1)
以上です。  (Hatch)

 何度もありがとうございます。
具体例を申しますと、
8時に出勤しまして、休憩が1時間。退勤が23時ならば、23−8−1で14時間の勤務となります。
8時から、8時間の休憩を1時間差し引くと、15時までは、通常の時給対応です。
8時間以上、15時01分から、退勤の23時まで、通常時給の25%増しになります。
また、22時以降の勤務、この場合、23時までの1時間、通常時給に50%増しになります。
交通費は500円ですが、勤務状態で付いたり付かなかったりします。
それらの、総額に対しての消費税が付きます。
 
時給(1000)出勤(8:00)退勤(23:00)休憩(1時間)勤務(14時間)勤務1(8時間)小計(8000円)勤務2(6時間)小計(7500円)深夜(1時間)小計(1500円)
交通費(500円)消費税(875円)総計(18375円)

  10008:0023:00


 上の計算例は正しいですか? 深夜の1時間と残業の1時間がダブっているようですが?
 また、15時までが通常で、15時以降が残業になるのですか?説明文は正しいですか?
 13:00〜24:00で休憩1時間の場合は?
 14:00〜24:00で休憩1時間の場合は?
 それぞれの具体的な計算結果はどうなるのでしょうか?
 # 計算方法が理解できていません(^^;)    (Hatch)

わかりにくいですか。。
深夜と残業は、ダブってて大丈夫なんです。
8時からの、8Hで休憩1Hの7時間の勤務で15時になってますが、基本的に、勤務開始から、8時間が通常時給です。
そこに休憩時間も入ります。
10時から19時の勤務。計9時間の勤務で8時間プラス1時間となります。
13〜24までの場合、24マイナス13で、11時間。(内訳、8プラス3。)。
22時以降が、24時までですので、2時間の計算になります。
時給1000円とすると、
1000円×8時間=8000円。1000円×3時間×25%増し=3750円。1000円×2時間×50%増し=3000円。交通費が、500円(変動有り)。その合計は、15250円。消費税が、7625円。沿う合計¥は、16012円(小数点切捨て)になります。


 休憩時間は無視すればいいのですか?
 > 14:00〜24:00で休憩1時間の場合は?
 24-14=10 1000*8+1000*2*1.25+1000*2*1.5
 それとも、
 24-14-1=9 1000*8+1000*1*1.25+1000*2*1.5 
 # 実働9時間で約12or11時間分の時給になるような・・・
 # いや、計算方法がそれでいいのならどうでもいいのですが・・・

 ありがとうございます。
14:00〜24:00の場合で、休憩1時間の場合、
24−14−1=9  1000*8+1000*1*1.25+1000*2*1.5です・
そうですね、結局、25%とか50%のUPがありますから、給料は、あがりますね。

 >10時から19時の勤務。計9時間の勤務で8時間プラス1時間となります。
 >13〜24までの場合、24マイナス13で、11時間。(内訳、8プラス3。)。
 >22時以降が、24時までですので、2時間の計算になります。
 >時給1000円とすると、
 >1000円×8時間=8000円。1000円×3時間×25%増し=3750円。1000円×2時間×50%増し=3000円。
 >交通費が、500円(変動有り)。その合計は、15250円。
 13:00         22:00  24:00
 +-------------------+---+
 ○○○○○○○○×     1000円×8時間=8000円
          ○○○  1000円×3時間×25%増し=3750円
           ○○  1000円×2時間×50%増し=3000円
 2重に重なって計算されているような気がするのですが・・・
 # 間違い修正 8/15 11:08 (Hatch)

 はい。8時間と残業代は重なることはないですが、その他は重なることあります。

 E2:勤務時間:=退勤時刻-出勤時刻-休憩時間=C2-B2-D2
 F2:普通勤務1@:=MIN(勤務時間,8時間)=MAX(E2,"8:00")
 H2:勤務B:=勤務時間-8時間=E2-"8:00"
 J1:深夜D:=深夜勤務時間=退勤時刻-"22:00"=C2-"22:00"
 ということでしょうか?
 例えば、15:00〜24:00で休憩1時間なら、
 勤務時間=24-15-1=8、普通勤務1@=8、勤務B=0、深夜D=24-22=2
 S.TotalA=時給*8、S.TotalC=時給*0*1.25、S.TotalE=時給*2*1.5
 時給1000円なら
 S.TotalA=1000*8=8000、S.TotalC=1000*0*1.25=0、S.TotalE=1000*2*1.5=3000
 この分の合計は11000円。
 でいいのでしょうか?
 確認ですが、S.TotalA=1000*8=8000、S.TotalC=1000*0*0.25=0、S.TotalE=1000*2*0.5=1000
 この分の合計は9000円。ということではないのですね?
   (Hatch)

 もうひとつ、例えば、15:00〜25:00で休憩1時間なら、
 勤務時間=25-15-1=9、普通勤務1@=8、勤務B=9-8=1、深夜D=25-22=3
 時給1000円なら
 S.TotalA=1000*8=8000、S.TotalC=1000*1*1.25=1250、S.TotalE=1000*3*1.5=4500
 この分の合計は13750円。でいいのでしょうか?
 先程の15:00〜24:00で休憩1時間の場合は11000円ですので、深夜1時間の勤務増加で
 2750円増えます。深夜の時給が1000*1.5=1500と比較して2750-1500=1250円余分にもらえます。

 S.TotalA=1000*8=8000、S.TotalC=1000*1*0.25=250、S.TotalE=1000*3*0.5=1500 とした場合は
 合計が9750円 これも、深夜の1時間分に25%の割増しが付き、更にこの1時間には50%の割増しも付きます。
 なんか、これらの計算は腑に落ちないのですが・・・ (Hatch)

そうですね、派遣業なんで、結構お得な計算になるんですよ。

 通常勤務時間+超過勤務時間が合計勤務時間になって、深夜の時間帯には+時給150%の深夜手当がつくってことなんでしょうね。
横&駄レス失礼しましたm(__)m (かなれっと)

 > E2:勤務時間:=退勤時刻-出勤時刻-休憩時間=C2-B2-D2
 > F2:普通勤務1@:=MIN(勤務時間,8時間)=MAX(E2,"8:00")
 > H2:勤務B:=勤務時間-8時間=E2-"8:00"
 > J1:深夜D:=深夜勤務時間=退勤時刻-"22:00"=C2-"22:00"
 > ということでしょうか?
 ご返答は?
 
 >150%の深夜手当がつくってことなんでしょうね。
 こんな条件は見たことがなかったもので、疑心暗鬼の状態でした
 それで、しつっこく質問をしていました(^^;)
 
 返答を待ってからと思いましたが・・・
 E2:=IF(COUNT(B2:C2)=2,TEXT((ROUND(C2*1440,0)-ROUND(B2*1440,0)-ROUND(D2*1440,0))/1440,"h:mm")*1,"")
 F2:=IF(COUNT(B2:C2)=2,TEXT(MIN(480,ROUND(E2*1440,0))/1440,"h:mm")*1,"")
 G2:=IF(OR(A2="",F2=""),"",ROUND(F2*24*A2,0))
 H2:=IF(OR(COUNT(B2:C2)<2,E2-F2<=0),"",TEXT((ROUND(E2*1440,0)-ROUND(F2*1440,0))/1440,"h:mm")*1)
 I2:=IF(OR(A2="",H2=""),"",ROUND(H2*24*A2*1.25,0))
 J2:=IF(OR(COUNT(B2:C2)<2,ROUND(C2*1440,0)-1320<=0),"",
TEXT((MIN(ROUND(C2*1440,0),1860)-MAX(ROUND(B2*1440,0),1320))/1440,"h:mm")*1)
 K2:=IF(OR(A2="",J2=""),"",ROUND(N(A2)*N(J2)*24*1.5,0))
 M2:=ROUNDDOWN(SUM(G2,I2,K2,L2)*0.05,0)
 N2:=SUM(G2,I2,K2:M2)
 これでどうでしょう。   (Hatch)

 ありがとうございます。
完成しました。本当にありがとうございます。

 申し訳ございません。
またまた、わかりません。
上記の勤務時間@で、8時間と深夜時間Dがかぶらないようにするにはどうしたらいいでしょうか?

 さて、どのような計算になるのでしょう?
 >勤務時間@で、8時間と深夜時間Dがかぶらないようにする
 具体例を示してください。 (Hatch)

コメント返信:

[ 一覧(最新更新順) ]


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