• ベストアンサー

エクセル残業計算の関数教えてください!!

EXCELで残業計算書を作成していますが、なにぶん素人なもので、独り孤軍奮闘しております。 どうしても、うまく組めず困り果てております。皆様のお知恵をお貸しください・・・ エクセル表で A列   B列    C列      D列         E列 12/1  月曜日  残業時間  労働時間    結果(1週間の合計D列が40時 間を超えた場合は、超えた時間                     (残業含む)             43.25h→3.25h) 12/2                             (40hを超えていない場合は、C列の計)をだしたいんです。  ・ 12/28(日)-12/31(水)のような場合はD列計は次の月のD列頭に移行する 通常は日曜から土曜日で1週間を区切るのですが、月初めと月終わりが素直に日曜~土曜までではなく、 週の途中から始まってしまったりします。 よろしくお願いいたします

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

  • ベストアンサー
回答No.2

こんにちは 質問者さんの意図するところと違うかもしれませんがご了承ください。 一週間の労働時間が40時間を越えていない場合         残業時間  労働時間  結果 11/30 日曜日   0.0h    0.0h   0.0h 12/ 1 月曜日   1.5h    9.5h   1.5h 12/ 2 火曜日   2.0h    10.0h   3.5h 12/ 3 水曜日   3.0h    11.0h   6.5h 12/ 4 木曜日 12/ 5 金曜日 12/ 6 土曜日 一週間の労働時間が40時間を超えた場合         残業時間  労働時間  結果 11/30 日曜日   0.0h    0.0h   6.5h 12/ 1 月曜日   1.5h    9.5h   6.5h 12/ 2 火曜日   2.0h    10.0h   6.5h 12/ 3 水曜日   3.0h    11.0h   6.5h 12/ 4 木曜日   0.0h    8.0h   6.5h 12/ 5 金曜日   0.0h    8.0h   6.5h 12/ 6 土曜日   0.0h    0.0h   6.5h としたいのでしょうか? 質問の内容からだとそう受け取れますが・・ ちなみに労働時間に残業時間を含んでいるので、一週間の労働時間を 40時間(8時間/日×5日)とした場合、超えた時間(労働時間累計 - 40時間) は、残業時間の累計と同じになり、残業時間がそもそも表示されている のならば、40時間を越える超えないに関わらず、累計を求めるだけで よいと思いますが、どうでしょうか? 一応、上記のようにするならば 11/30(日)~12/6(土)まで7行存在するという前提でE2に =IF(SUM(D$2:D$8)>40,SUM(D$2:D$8)-40,IF(SUM(D2:D$8)=0,"",SUM(C$2:C2))) と入力して、E8までコピーします。 コピーしたらE2からE8までセルを選択してメニューの編集から 置き換えを使って、$を""に置き換えて$を消します。  検索する文字列に$  置換後の文字列には何も入力しない これで、一週間分の式ができますので、12/7~12/13も同じように 行を作って、1週間の式(E2~E8)をE9~E15にコピーします。 以降、必要なだけ繰り返し。 単に一週間の累計だけを別の列に表示したいのなら =SUM(C$2:C2) とE2に入力して同じようにE8までコピー。 上記と同様に置き換えを使って$を消せば、一週間分の式ができます。 ご参考まで

hanausasan
質問者

お礼

すみません、回答いただきありがとうございます 他にも不具合を発見してしまったので… 参考にもう少し、悩んでみます。   大変ありがとうございました

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

No1です。提示する式間違えていました。 =IF(MONTH(A1)=MONTH(A2),IF(WEEKDAY(A2)=2,C2+D2,IF(C2+D2+E1<"40:00"*1,C2+D2+E1,C2+D2+E1-"40:00")),C2+D2) です。 40:00 以下では 日~土単位での合計、以上の場合は 合計-40:00 ひょとしたら、質問取り違えているかも知れません。 その時はスルーしてください。

hanausasan
質問者

お礼

ありがとうがございました。 もう少しなやんでみます

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

ご希望かどうかわかりませんが E1セルには =C1+D1 E2セルには =IF(MONTH(A1)=MONTH(A2),IF(WEEKDAY(A2)=2,C2+D2,C2+D2+E1),C2+D2) 下までコピィ E列の書式 ユーザー定義 [h]:mm で試してみてください。

関連するQ&A

  • エクセル残業計算書を教えてください!!

    EXCELで残業計算書を作成していますが、なにぶん素人なもので、独り孤軍奮闘しております。 どうしても、うまく組めず困り果てております。皆様のお知恵をお貸しください・・・ エクセル表で A列   B列    C列      D列         E列 12/1  月曜日  残業時間  労働時間    結果(1週間の合計D列が40時 間を超えた場合は、超えた時間 43.25h→3.25h) 12/2                (残業含む)     (40hを超えていない場合は、C列の計)をだしたいんです。  ・ 12/28(日)-12/31(水)のような場合はD列計は次の月のD列頭に移行する このように、月初めと月終わりが素直に日曜~土曜までではなく、週の途中から始まってしまったりします。 月を入力すれば、A列・B列が自動で出るようには出来たのですが、E列が上手くいきません。 よろしく御指導おねがいします。

  • 残業代の計算をエクセルで・・・。

    エクセルで残業代の計算をしたいのですが、どのようにすればいいのかが全く分かりません。 A列は日付、B列は出勤時間、C列は退勤時間、D列は勤務時間(単純に退勤時間から出勤時間を引いた値)、E列に休憩時間が入力されています。 希望としてはF列に実働時間が、G列に残業時間が入るようにしたいのです。 ①休憩時間は原則1時間ですが、例えば30分しか取れなかった場合は本来取るべきだった残りの30分を残業代に含めることにしています。 ※労基法?ではあまり良しとしていないようですが、ここではあえて無視をしています。 ②勤務時間は午前8時30分から午後5時15分までで、それ以降に勤務していた場合は残業代として15分刻みで支給します。 以上の条件を考慮した残業時間がG列に出る関数がわかりません・・・。 また、土日祝日に勤務した場合は、H列に休日出勤時間が出るようにしたいのです。 給与計算を担当することになったのですが、前任者は一つ一つ手計算をしていたようなのですが、手間がかかり、また間違いの元にもなるかと思いエクセルの数式で何とかできないかと思い質問させていただきました。 何卒ご協力お願いいたします。

  • 残業時間の計算

    平日 始業9:00-17:00 昼休み12:00-13:00 土曜 始業9:00-12:00 1日7h、1週間38hになる場合で、 平日に1日だけ3hの残業をしたのと、土曜に3h残業したのでは、同じ3hでもかわるのですか? 1日8h超えたら残業で、週で40時間越えたら残業とか、1ヶ月で総労働時間で計算とかって調べたらあったのですが、どうなるのでしょうか? 平日3hの残業なら2hの残業になるけど、1週間で計算すると1hの残業になります。 ご意見ください

  • EXCELで関数を使って残業時間の計算がしたいのですが・・

    EXCELを使って残業時間の計算したいと思っているのですが、関数にあまり詳しくないのでアドバイスお願い致します。 (A1)出社、(B1)退社時間は30分単位で自分で入力します。 D1に10時間以降残業にし、残業に満たない場合は未表示で30分単位は0.5と表示させようと思っています。 今現在 A1=出勤時間 8:00 B1=退社時間 20:00 C1=労働時間 12:00   関数  =IF(A1="","",B1-A1) D1=残業時間 =IF(C1="","",IF(C1>"10:00",(C1-"10:00")*24,"")) と、いう感じにやってみましたが、D1の計算がうまくいきません。よくわからないのですが、シリアル値というのが関係してるのでしょうか?宜しくお願い致します。

  • 残業時間の合計が

    B F列 開始時間 C G列 退社時間 D H列 残業時間 E I列 残業手当 を入れて31日まで入れています。 下記のような数式を(H9)に入れて31日分まで(H39) =IF(AND($F9<G$9,$G9>D$5),MIN($G9)-MAX($F9,D$5),0) 31日分まで(H39)までコピーしています 残業時間の合計時間ですが =SUM(D9:D39) この列はちゃんとイイです =SUM(H9:H39) この列は30日迄はいいのですが31日        に入力されると0.00となります        30日迄はいいのです なにが問題なのか困っています どなたかご指導いただけませんか

  • Excelの計算式について

    Excelを使って色々な計算式を作成したいと考えております。 うまく、説明ができない為にExcelファイルを簡易的では御座いますが 作成してみました。 よろしければご覧になって見てください。 http://technocompany.web.fc2.com/excel.jpg A列に日付を入力した場合に自動的に曜日が入るようにしたいのですが このような事は可能でしょうか? A列に入力した日付が月曜日~金曜日の場合には、その右側のC列に¥35000円と入力 A列に入力した日付が土曜日の場合には、その右側のC列に¥22200円と入力 A列に入力した日付が日曜日、祝祭日の場合には、その右側のC列に¥18800円と 自動的に入力をできる様にしたいのですが、このような事は可能でしょうか? B列には、異なる数値を日々入力して、D列にB-Cの数値を表示したいと考えております。 D列に表示された、数値に0.53を駆けた数値を、E列、若しくはF列に表示したいと考えております。 次にE列、若しくはF列に表示された数値に¥15500円を足した金額をG列に表示したいと考えております。 初心者では御座いますがご指導の程よろしくお願い致します。

  • エクセルの関数の読み取り方を教えてください。

    エクセルで夜間の出勤時間の管理をしております。 以前在籍しておられた方が作られたようなのですが 関数初心者の私では読解するのが困難なので お教えいただきたく投稿しました。 完成されてる表を掲載できればいいのですが・・・ 関数を掲載させていただきますので その関数の読み取り方をお教えいただければ幸甚です。 A列 日付 B列 始業時間 C列 終業時間 D列 計算用退勤表記 E列 拘束時間 F列 労働時間 G列 深夜労働時間 H列 残業時間 I列 普通勤務 J列 深夜勤務 K列 普通残業 L列 深夜残業 D列 =IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0)) F列 =IF(E5-$B$37<0,0,E5-$B$37) G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37) H列 =IF(F5-$B$38<0,0,F5-$B$38) I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37) J列 =IF(I5=0,0,$B$38-I5) K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5) L列 =IF(G5-J5<=0,0,G5-J5) 基本休憩時間 2:00(=B37) 所定労働時間 8:00(=B38) 深夜終了時刻 5:00(=B39) 深夜開始時刻 22:00(=B40) 深夜労働時間 5:00(=B41) 当番休憩時間 1:00(=B42) 表の内容はこんな感じなのですが。 これでわかりますでしょうか? 基本の時間は20:00~7:00 です また、万一勤務時間が17:00~4:00の場合 どこの計算式がどのようにわかりますでしょうか? 文字の羅列になって申し訳ございませんが 宜しくお願い申し上げます。

  • エクセルで時間計算を教えてください!!

     作業の効率化と計算ミスを防ぐため、エクセルで勤務表を作成したいと思っております。 イメージとして     A    B     C     D     E     F     G     H 1列 日   出勤   退勤   残業   深夜  総労働  遅・早   休息 2列 1  4:20   17:42    4:22   0:40   12:22 3列 2  7:51    24:00          2:00    7:57    0:03    7:12 4列 3  0:00    10:50    1:00    5:00    9:00    0:50 5列 4  16:30    6:30    5:00    7:00   13:00 6列 5  8:30   17:30               8:00 A(日)・B(出勤)・C(退勤)・H列(休息)は、手入力しますが、 D(残業)・E(深夜)・F(総労働)・G(遅刻・早退)は、自動計算させたいと考えております。 F(総労働)は 退勤-出勤-休憩=X (Xが8時間以上なら-1時間 8時間に満たない時はそのまま表示) D(残業)は、X-8時間 (Xが8時間に満たない時は、空白のまま) E(深夜)は、22:00から5:00とする。 G(遅刻・早退)は、Xが8時間に満たない時のみ (8時間-X=Y)を表示させる。 ★出勤時間・退勤時間は、人や仕事の内容によりバラバラです。    H(休息)は、2日運行等になった時のみです。   休日など空白になっている時は、空白のまま。   説明が下手で申し訳ありませんが、お知恵を貸してください!! 宜しくお願いします。

  • Excelで残業時間集計

    過去の質問も確認しましたが、分からなかったので質問させて下さい。 Excel(2000)で残業時間の集計をしたいのですが、うまく集計出来る関数が分かりませんでした。 【条件】 ◆就業時間が9:00~17:30 ◆休憩時間が12:00~13:00、20:30~21:30 ◆就業時間より30分以上時間が経過している場合は残業時間に該当 ◆22:00以降は深夜残業 ◆土曜日は休憩時間を除く実労働時間が残業時間となる 【例1】 B2に平日の残業開始時間を入力し、C2に残業終了時間を入力すると、D2に残業時間、E2に深夜残業時間が表示される。 【例2】 B3に土曜日の残業開始時間を入力し、C3に残業終了時間を入力するとD3に残業時間、E3に深夜残業時間が表示される。 上記の例で関数を作るとすると、どのような関数が適当なのでしょうか?教えて下さい。宜しくお願い致します。

  • 残業時間を計算したい

    約2年間分の残業時間を計算したいのですが、会社の出退勤システムから出力したCSVファイルから上手く計算する関数などアドバイスください。 表は、下記のような形になっています。 ------------ C列(日付) 2012/10/1 D列(出勤時刻) 10:27 E列(退勤時刻) 19:58 ------------ これだけなら、E列からD列を引けば、会社にいた時間が出てくるので そこから8時間+1時間(昼休憩)引けば残業時間が求められるのですが、日をまたいで働くなどすると ----------- D列(出勤時刻) 10:25 E列(退勤時刻) 03:58 ----------- なんて行も存在するため、計算がめちゃめちゃになってしまいます。 日付をまたいだ行も含めて、その日、出勤~退勤まで何時間会社にいたのかを計算するためにはどんな計算式を入れれば良いでしょうか?

専門家に質問してみよう