エクセル2003で勤務時間計算の方法とは?

このQ&Aのポイント
  • エクセル2003で勤務時間計算をする方法について教えてください。現在は30分単位で計算していますが、5分単位で給与計算したいです。具体的にはH列の計算式を修正する必要があるようですが、どこを修正すればよいのでしょうか?
  • エクセル2003で勤務時間計算をする際、現状では30分単位で計算しています。しかし、5分単位で給与計算し、小数点以下を切り捨てるためには、H列の計算式を修正する必要があります。具体的な修正箇所を教えてください。
  • エクセル2003を使用して勤務時間を計算していますが、現在は30分単位で計算しています。5分単位で給与計算し、小数点以下を切り捨てるためには、H列の計算式を修正する必要があります。具体的にどの部分を修正すればよいのでしょうか?
回答を見る
  • ベストアンサー

エクセル2003で勤務時間計算をしたいのですが、

エクセル2003で勤務時間計算をしたいのですが、 現状は下記のように、H列の計算式が30分単位なのですが、 5分単位で給与計算して、小数点以下を切り捨てするには、 H列の計算式のどこを訂正するとよろしいでしょうか? ■現状(時給880円の場合) C列     D列     E列     F列     H列 始業時刻  終業時刻  休憩時間  実働時間  日給 10:00    17:30     0:45    6:45     5720円 H列の計算式 =IF(OR(C9="",D9=""),"",G9*HOUR(F9)+IF(AND(MINUTE(F9)>=0,MINUTE(F9)<=29),0,IF(AND(MINUTE(F9)>29,MINUTE(F9)<=59),G9/2,G9)))

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

次の式でできるかと思います。 ご確認ください。   =IF(OR(C9="",D9=""),"",INT(G9*(HOUR(F9)+(ROUNDDOWN(MINUTE(F9)/5,0)/12))))

personman
質問者

お礼

お礼が遅くなり申し訳ございませんでした。 jcctaira様のご教示くださいました式で、イメージ通りの結果になりました。 誠にありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

G列を特に作る必要もないと思いましがG列には5分単位の実働時間を表示させるのでしたら次のような式になるでしょう。セルの表示形式は時刻にします。 =IF(COUNT(C9:D9)<>2,"",FLOOR(F6,"0:05")) H列の式は次の式でセルの表示形式は標準にします。 =IF(G9="","",ROUNDDOWN(G6*24*880,0)) G列のない場合には次の式でよいでしょう。セルの表示形式は標準にします。 =IF(COUNT(C9:D9)<>2,"",ROUNDDOWN(FLOOR(F6,"0:05")*24*880,0))

personman
質問者

お礼

お礼が遅くなり申し訳ございませんでした。 おかげ様でイメージ通りの結果になりました。 誠にありがとうございました。

  • minosennin
  • ベストアンサー率71% (1366/1910)
回答No.2

まず、F列の実働時間計算でFLOOR関数を用いて5分切捨てします。 F9 =FLOOR(D9-C9-E9,"0:05") するとH列の金額計算式はつぎのように簡単になります。 H9 =IF(OR(C9="",D9=""),"",F9*G9*24) 注:*24はそれまでの計算単位が「日」のため、これを時間に直すためです。

personman
質問者

お礼

お礼が遅くなり申し訳ございませんでした。 おかげ様でイメージ通りの結果になりました。 誠にありがとうございました。

関連するQ&A

  • Excel:勤務時間の計算がうまくいかない。

    No.1468024の質問をした者です。 勤務表を作成しています。(Excel2002を使用) 終了時刻(D列)ー開始時刻(C列)ー休憩時間(E列)=当日の勤務時間を計算しています。 No.1468024の質問でアドバイスをいただき、以下のような計算式を記述しました。 <例> =AND(C13*D13)*(MIN(IF(AND(D13>="12:00"*1,D13<="13:00"*1),"13:00",D13),"17:40")-MAX(IF(AND(C13>="12:00"*1,C13<="13:00"*1),"12:00",C13),"09:00")-E13+FLOOR(MAX(D13,"18:00")-"17:59:59","0:15")) ほぼうまくいくのですが、開始時刻9:00終了時刻12:00とした場合、勤務時間4:00となり、間違ってしまいます。(正しくは勤務時間3:00。また開始時刻9:00終了時刻が12時から13時までの間の時刻で入力された場合も勤務時間3:00と出力したいです。) 休憩時間セルに以下のような計算式を書いています。 <例> =IF(COUNT(C13:D13)<2,0,IF(D13-"12:00"*1<=0,0,IF(C13-"12:00"*1>=0,0,IF(D13<"18:00"*1,"1:00","1:20")))) 休憩時間は12時から13時までの1時間。 終了時刻が17:40以降なら20分休憩時間が加算されます。 開始、終了が入力されていないと0:00表示。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお願いします。

  • Excel:当日勤務時間の計算式のアドバイスを下さい

    Excel2002を使用し、勤務表を作成しています。 修正を繰り返しだいぶ計算ができるようになりました。 今回は、開始13:15終了16:15の場合、休憩なし、当日勤務時間3時間と計算させたいのですが、何かアドバイスあればよろしくお願いします。 現在使用している計算式では以下のように計算されます。 開始8:30終了17:05、休憩45分、当日勤務時間7時間50分※定時 開始7:30終了16:05の場合、休憩45分、当日勤務時間7時間50分 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始13:15終了17:05の場合、休憩なし、当日勤務時間3時間50分 開始13:15終了17:50の場合、休憩なし、当日勤務時間3時間50分 -------------------------------------------------------- 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C6,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D6,"0:15") 休憩時間を45分として勤務時間を計算する:R列 -------------------------------------------------------- ■休憩時間 =IF(COUNT(C6:D6)<2,0,IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45",IF ((C6>="13:15"*1)*(D6>="17:20"*1),"0:15","0:00")))+IF(R6>="8:00"*1,"0:15","0:00") ■当日 勤務時間 =IF(COUNT(C6:D6)<2,0,IF((C6>="13:15"*1)*(D6>="17:20"*1),R6-"0:15",IF(R6>="8:00"*1,R6-"0:15",R6))) ■休憩時間を45分として勤務時間を計算する =IF(COUNT(C6:D6)<2,0,AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6),"16:05")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"07:30")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX(D6,"16:05")-"16:04:59","0:15")))

  • Excel:勤務時間計の計算式がうまくいかない

    Excel2002を使用し、勤務表を作成しています。 以前こちらでアドバイスをいただき、作成することができました。 今回修正で、開始8:30終了17:05の場合、休憩45分、当日勤務時間7時間 50分と計算させたいのですが、何かアドバイスあればよろしくお願いし ます。 現在使用している計算式では以下のように計算されます。 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始8:30終了17:05の場合、休憩60分、当日勤務時間7時間35分 ■8時-16時35分(定時)の場合 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C7,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D7,"0:15") ■休憩時間 =IF(COUNT(C7:D7)<2,0,IF((P7<"12:30"*1)*(Q7>"13:15"*1),"0:45","0: 00"))+IF(D7>="16:50"*1,"0:15","0:00") 休憩時間は12:30から13:15までの45分。 終了時刻が16:35以降なら15分の休憩時間が加算。 開始、終了が入力されていないと0:00表示。 ■当日 勤務時間 =AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6), "16:35")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"08 :00")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX (D6,"16:50")-"16:49:59","0:15")) 開始、終了が入力されていないと空白 12:30~13:15の場合は12:30、16:35以降の場合は16:35、それ以外は終 了時刻のまま。 8:00以前は8:00、12:30~13:15の場合は13:15、それ以外は開始時刻の まま。 残業していないケースをIF文を使わずに計算したいため終了時刻が 16:50以前の場合は16:50と補正して、計算結果が00分になるように細工 。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお 願いします。

  • ファイルメーカーによる勤務時間計算を簡単にする方法についてお尋ねします

     出勤退庁が全く不定時な特殊派遣業務の管理作業をファイルメーカーPro9で行っております。  派遣報酬は時間制で、 実働時間(30分単位)×職務別時間制定額+深夜(22時~5時)従事時間×深夜加算定額  により構成されています。  不定時な出勤退庁の例は下記のとおりです。 (勤務)開始時刻~終了時刻(実働時間、深夜時間)      9:00~18:00(実働9.0H、深夜0)      20:00~3:00(実働7.0H、深夜5.0H)       23:00~7:30(実働8.5H、深夜6.0H)        23:30~4:00(実働4.5H、深夜4.5H)        1:00~4:30(実働3.5H、深夜3.5H)        2:00~9:00(実働7.0H、深夜3.0H)        21:00~7:00(実働10.0H、深夜7.0H)        まず実働時間の計算ですが、入力は上記の時刻どおり行うため、翌日にまたがる勤務のときはそのままだと実働時間がマイナスになります。 これを避けるため、その場合は終了時刻に1日(86400秒)を加算する次の式を定義しております。  出退庁時刻等の定義は、次のとおりです。 出勤時刻→「開始時刻」 退庁時刻→「終了時刻・入力」と「終了時刻・換算」 実働時間→「実働時間・時刻」と「実働時間・数値」 終了時刻・換算=If( 開始時刻>終了時刻・入力; 終了時刻・入力 + 86400; 終了時刻・入力 )  そして実働時間は 実働時間・時刻=終了時刻・換算-開始時刻  とし、これを数値化するため、 実働時間・数値=Hour(実働時間・時刻 ) + Round(Minute(実働時間・時刻) / 60; 2 )  としております。  さて最大の問題は前記実働時間中の深夜従事時間の算出です。  まずフィールド定義を 深夜開始=Time(22; 0;0) 深夜終了=Time(5; 0; 0) 深夜終了29時=Time(29; 0; 0 ) 深夜従事時間=深夜時間 深夜時間の数値=深夜時間・数値  とし、次の式により深夜従事時間を求めています。 深夜時間=If(終了時刻・換算 > 深夜開始; If( 終了時刻・換算> 深夜終了29時; 深夜終了29時;終了時刻・換算 )-If( 開始時刻>深夜開始; 開始時刻; 深夜開始 );0) + If( 終了時刻・換算>深夜終了; 深夜終了; 終了時刻・換算 )- If(開始時刻 <深夜終了; 開始時刻; 深夜終了 )  これを数値化するため、 深夜時間・数値=Hour(深夜時間) + Round( Minute(深夜時間) / 60; 2 )  以上が一連の式の流れですが、これらの式は何とも冗長で分かりにくいので、もっと簡単で分かりやすい計算式ができないか、悪戦苦闘しましたがいい智恵が浮かびません。  思い余ってファイルメーカーの時間計算に詳しい方のご指導をいただきたく投稿しました。  よろしくお願いします。

  • Excelで勤務時間の計算をしたいです。

    すでに作られている勤務表を前任者から受け継ぎましたが、 すべて手入力しているので関数を使ってもっと効率化を図りたいと思います。 皆様の知恵をお貸し下さい。 出勤時間→B列 退社時間→C列 出勤日数のカウント→D列 残業時間→E列 条件として ・定時は8:00~17:00に対して1時間の休憩をとる。 例:B列   C列  D列  E列   8:00 17:00  1  [空白] ・実働時間9時間を超える場合は残業時間に入れる 例:B列   C列  D列  E列   8:00 18:30  1   1.5 ・実働時間9時間以上の場合は1時間休憩を差し引き実働時間8時間としてそれに対して 出勤日数のカウント「1」 実働時間4時間以下の場合は休憩時間を差し引かずに 出勤日数のカウント「0.5」 実働時間4時間超え、9時間未満のものに対しては休憩時間に関係なく 出勤日数のカウント「1」 (ここが一番厄介な点かと思われます。4時間以内ならカウント0.5、4時間を越えたものはカウント1です。) 例:B列   C列  D列  E列   8:00 12:00  0.5  [空白]   8:00 15:00  1  [空白]   8:00 17:30  1   0.5 ・深夜勤務もあるが、その場合の残業は手動で計算するので、出勤日数のカウントだけでOK 例:B列   C列  D列  E列  23:00  5:00  1  [空白] このような状態なのですが、計算の列などを増やして(あまり増やしたくはないのですが・・・) 関数をいれてある程度自動で計算をさせたいのです。 休憩時間はほぼ1時間と決まっているのであまり列は増やさずに計算させたいです。 簡単な関数は知っていますが、表示形式など詳しいことは分かりません(残業時間1時間半を1.5と表示するなど・・・) ちなみに出勤日数のカウント、残業に関しては1や1.5などの数値を 他の時給計算で使っています。 巧く説明できなくてすみません((汗)) どのような関数を組んだらよいか、ご指導を宜しくお願いします_(._.)_

  • エクセル勤務表を作成したい

    色々調べてみたのですが、力が足りずうまく行かないので教えてください。 (1)9:00~18:00が基本の労働時間です。 (2)18:00以降は残業 (3)昼休憩は12:00~13:00の一時間で、その分実働から引きたい (4)12:00までの勤務は昼休憩を引きたくない (5)13:00からの勤務は昼休憩を引きたくない (12:00からの勤務は13:00からと同じになります) 今までは以下のような式を入れてました。 A列:日付(問題なし) B列:曜日(問題なし) C列:勤務開始時間(勤務する方が入力予定) D列:勤務終了時間(勤務する方が入力予定) E列:実働時間 =IF(C11="","",(D11-C11)-F11-G11) F列:休憩時間(1時間)・・・・ここは無くてもいいです。 =IF(C11="","",IF(AND(D11<=TIME(12,0,0)),TIME(0,0,0),TIME(1,0,0))) G列:残業時間(18:00以降) =IF(D11<=TIME(18,0,0),"0:00",D11-TIME(18,0,0)) これが、いいレベルのものだとは思ってませんが なんとか形になったのですが・・・ (6)9:00前に出勤も残業入れる という条件を出されまして、困っています。 皆さんのお知恵を貸してください! 休憩時間は表示しなくても大丈夫です。 実働が、(4)、(5)の条件を満たしていて表示されることと 残業が9:00前までと18:00以降の合算で出ると良いのですが・・。 よろしくお願いします!

  • Excelでの勤務表作成について

    エクセルにて勤務表を作成したいと思っておりますが、過去ログの どれに当てはまるかがわからず、質問させて頂く次第です。 現在勤務表は以下のとおりとなっております。 □基本パターン 始業時間  終業時間  実働時間  時間外(所定時間超え) C  D     E  F     G  H     I  J  8:45    17:15     7:30    0:00 上記基本パターンの他に残業(時間外)を15分単位でプラスする場合があります。 その場合、以下のようになります。 □残業ありの場合(例:18:30まで働いた場合) 始業時間  終業時間  実働時間  時間外(所定時間超え)  C  D     E  F      G H     I  J  8:45    18:30     8:45   1:15 *休憩は1時間です 現在、エクセルにて実働時間を計算する式を以下のように製作して おります。 □時間式 IF(C4="","",IF((E4-C4)>=0,ROUNDDOWN(((E4-C4)*60-60+F4-D4)/60,0),ROUNDDOWN(((E4-C4+24)*60+F4-D4)/60,0))) □分式 IF(C5="","",IF((F5-D5)>=0,F5-D5,F5-D5+60)) そこで、基本労働時間7:30を超えた時間外を計算する式 (時間式・分式)はどのように作成したら宜しいでしょうか。 お手数をおかけ致しますが、宜しくお願い致します。

  • 勤務表の計算式で困っています

    勤務表で A列に日付 B列に曜日 ---------- Xさん C列 出勤は◎ 休みは空欄 D列 D1=IF(C1=0,"",COUNTIF(C1,"◎")+COUNTIF(E1,"◎")+COUNTIF(G1,"◎") ---------- Yさん E列 出勤は◎ 休みは空欄  F列 F1=IF(E1=0,"",COUNTIF(C1,"◎")+COUNTIF(E1,"◎")+COUNTIF(G1,"◎") ---------- Zさん G列 出勤は◎ 休みは空欄 H列 H1=IF(G1=0,"",COUNTIF(C1,"◎")+COUNTIF(E1,"◎")+COUNTIF(G1,"◎") ---------- といった表での計算式につきまして 日付行の例えば1日(A1行)の出勤が 3名出勤の場合 C1◎E1◎G1◎となり D1F1H1にはそれぞれ「3」と出力 2日(A2行)の出勤が Xさん1名の場合 C2◎ 、E2と G2 は空白となり D2には「1」と出力 F2H2は空白 とさせる場合 D1セルの計算式を =IF(C1=0,"",COUNTIF(C1,"◎")+COUNTIF(E1,"◎")+COUNTIF(G1,"◎") としていますが計算式エラーとなり数字だけ残って表示されてしまう場合があります その場合には下記の式に書き換えると表示が消えることもあるのですが =IF(C1="","",COUNTIF(C1,"◎")+COUNTIF(E1,"◎")+COUNTIF(G1,"◎") 毎回手作業でエラーを見つけて式を入れなおしています 計算式が違うのか根本が間違っているのか改善策をご教授ください ◎自体は別シートの方から参照コピーしております

  • エクセル初心者 時間ごとに残業手当が違う場合

    下図より C:出社時間、D:退社時間 E:休憩時間 F:勤務時間  G:残業時間(1)(17:00から15分単位で発生) H:残業時間(2)(1)(18:00から15分単位で発生)があったとします。 現在、 Fの計算は=IF(D6="","",MIN(D6,"17:00")-MAX(C6,"8:45")-"1:00") Gの計算は=IF(D6="","",IF(D6>"17:10"*1,D6-"17:00",0)) Hの計算は=IF(F6="","",IF(D6>="18:15"*1,D6-"18:00",0)) で作成してますが質問は (1)Fの休憩時間1時間引く場合、"1:00"にせずに"F4"を引くとエラーになります (2)Gの残業時間は17時から発生しHは18時から15分おきに発生するのですが式をひとつに まとめて、「Dが17時を超えてたらGに表示、18時を超えていたらHに表示」にしたいです。 ちなみにGは時給\1600 Hは時給\2000となります。      C   D E    F  G   H 4 火 8:45 17:45 1 7:15 0:45 0:00 5 水 8:45 12:15 1 2:30 0:00 0:00 6 木 8:45 18:15 1 #VALUE! 1:15 #VALUE! 勉強不足で申し訳ありません。 どうぞよろしくお願い致します。

  • Excelで勤務表を作りたいのですが

    Excelで勤務表を作りたいのですが、なかなか関数がうまく使えません。 時間計算をご存知の方、教えて下さい。 入力列 A:出勤時刻 B:退勤時刻 C:勤務開始時間 *始業9:00のため、9時より以前の出勤時刻は9:00、9:00以降の出勤はその時刻を表示する。 D:休憩時間 E:実働時間(始:C/終:B/マイナス:D) F:時間内勤務(8時間まで) G:時間外勤務(8時間を超過したところから・22時迄) H:深夜残業(22時以降の勤務時間) このような説明でお分かり頂けるでしょうか。 よろしくお願いします。

専門家に質問してみよう