勤務表の作成について

このQ&Aのポイント
  • 始業時間・終業時間・休憩時間を入力すれば、実働時間・定時時間・残業時間・深夜時間・深夜残業が自動的に出るような表を作成しようとしています。
  • 作成はしてみたのですが、どうも上手くいきません。
  • どのような式を入れれば良いかご教授お願いします。
回答を見る
  • ベストアンサー

勤務表の作成について

勤務表の作成について 始業時間・終業時間・休憩時間を入力すれば、実働時間・定時時間・残業時間・深夜時間・深夜残業が 自動的に出るような表を作成しようとしています。 作成はしてみたのですが、どうも上手くいきません。 始業時間・・・手入力 終業時間・・・手入力 休憩時間・・・手入力 実働時間・・・終業-始業-休憩 定時時間・・・5:00~22:00の間の業務時間 残業時間・・・実働時間が8時間を超えていた場合の5:00~22:00の間の業務時間 深夜時間・・・5:00~22:00の間以外の業務時間 深夜残業・・・実働時間が8時間を超えていた場合の5:00~22:00の間以外の業務時間 今は以下のような(間違っている)計算式を入れています。 D8=曜日(休日には休と表示) D10=始業時間 D11=終業時間 D12=休憩時間 実働時間(D13)=IF(D10="","",D11-D10-D12) 定時時間(D14)=IF(D8="","",IF(AND(D8<>"休",D10=""),"休",IF(OR(D10="",D8="休"),"",IF(D13<TIME(8,0,0),D13,TIME(8,0,0))))) 残業時間(D15)=IF(D10="","",IF(D14="","",IF(D13-D14=0,0,IF(D11>TIME(22,0,0),IF(TIME(22,0,0)-D10-D12-D14<0,0,TIME(22,0,0)-D10-D12-D14),D11-D10-D12-D14)))) 深夜時間)D17)=IF(D10="","",IF(AND(D11>TIME(22,0,0),D11<TIME(5,0,0)),D11-D18-TIME(22,0,0),"")) 深夜残業==IF(D10="","",IF(D13=D14,0,D13-D14-D15)) どのような式を入れれば良いかご教授お願いします。

  • reas
  • お礼率20% (2/10)

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

  • ベストアンサー
  • new_3710
  • ベストアンサー率100% (5/5)
回答No.2

まず数式を考える前に、勤務入力に関する定義をしっかりしましょう。(^_^;) おそらく下記のような定義が最も近いと思います。 【定義】(24時間表示) ●1日の勤務時刻の範囲 =5時~翌朝5時→[ 5:00~29:00 ]とする。 ●通常勤務時刻 =5時~22時→[ 5:00~22:00 ]とする。 ●深夜勤務時刻 =22時~翌朝5時→[ 22:00~29:00 ]とする。 ●通常休憩時間 =通常勤務時刻内に取得した勤務時間に含まない休憩時間(食事・私用外出など) ●深夜休憩時間 =深夜勤務時刻内に取得した勤務時間に含まない休憩時間(食事・私用外出など) ●定時時間 =1日の勤務時間は8時間を定時勤務時間とする。 また、定時時間は、通常勤務時刻内の「通常定時時間」と深夜勤務時刻内の「深夜定時時間」とに分類する。 ●残業時間 =8時間を超える勤務時間は残業時間とする。 また、残業時間は、通常勤務時刻内の「通常残業時間」と深夜勤務時刻内の「深夜残業時間」とに分類する。 以上の定義から、勤務入力に必要な項目は少なくとも下記のようになると思います。 [ 始業時刻 ]※ [ 終業時刻 ]※ [ 通常定時時間 ] [ 通常休憩時間 ]※ [ 通常残業時間 ] [ 深夜定時時間 ] [ 深夜休憩時間 ]※ [ 深夜残業時間 ] 以上の項目の内、※印の項目が手入力になります。 あと、時刻の区切りを表した表を同じシート内に作成し、計算式にも、その表のパラメーターを参照して計算させると便利だと思います。 将来、勤務時刻の変更や定時時間の変更などがあっても、数式を変えることなく、別表の修正で対応可能になるからです。 例えばこんな感じに。 ↓ 1日の始め時刻 5:00 深夜区切時刻 22:00 1日の終り時刻 29:00 1日の定時時間 8:00 他にも、一覧にしておいた方が良いパラメーターがあれば追加しても良いでしょう。 以上のことを考え直して数式を構築していくと良いのではないでしょうか? 一言アドバイスするとしたら、時間の計算が複雑になるので、1つの式の中に全部入れるのではなくて、実際に管理する表の下に、いろいろな判断をするのに必要な計算を別にさせておいて、それを参照しながら数式を構築する方がやりやすいと思います。 ご参考に!<(_ _)>

reas
質問者

お礼

返答ありがとうございます。 確かに他に休憩時間を取るタイミングという物が必要のようでした。 また、一つのセルに全ての計算式を入れてしまうとIF分のネストが超えてしまうので 別のセルに一度別な計算をさせておいて、そこから持ってくるやり方にしようと思います。 (そうすればエラーが出ても、どちらでエラーが出ているか分かりやすくもなるので) また数式を作り直してみます。

その他の回答 (3)

回答No.4

reasさん 今日は! まだ上手くプログラムが出来ませんか? プログラムはまず真似をする事から始めるべきです。作成のノウハウを覚えて下さい。 補足します。 ■VBAを使わずExcelで勤務表を作成する(Excel2000) http://members.at.infoseek.co.jp/kenchan_h/index22.html 概要:そこで今回、皆様にも簡単に勤務表が作れる方法をお伝えしたいと思います。 ”簡単に”と言うからには、VBAを使わずにExcelで勤務表を作成することを念頭に考えております。 どこまでご期待に沿えるか分かりませんが、このページが皆様に少しでも役立てば幸いかと存じます。 ■続・VBAを使わずExcelで勤務表を作成する http://members.at.infoseek.co.jp/kenchan_h/index23.html ■続々・VBAを使わずにExcelで勤務表を作成する http://members.at.infoseek.co.jp/kenchan_h/index31.html ■勤務表作成フリーソフト「ローティションメーカー」 http://www.rotation.gamaguti.jp/index.htm 概要:ダウンロード・インストール↓ このソフトはインストール作業は必要ありません。 プログラム本体と、見本データを自己解凍形式のファイルで配布しますので、適当なところに解凍後、プログラム本体 RotationMaker.exe を実行してください。 入手法:このサイトより可能です。

reas
質問者

お礼

返答ありがとうございます。 各サイトを参考にさせて頂きます。

回答No.3

reasさん 今晩は! NO1です。補足です。 ■Excel(エクセル)基本講座:Excel(エクセル)関数一覧表(Excel2002/2003) http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html 概要:1.【種類別エクセル関数一覧表】↓作成済みエクセル関数の数:128個 ☆合計・平均の関数 カウントの関数 四捨五入など 最大最小など ☆日付の関数 時刻の関数 文字列の操作1 文字列の操作2 ☆検索/行列の関数 IF関数&IS関数 三角関数・数学 データベース関数 財務関数 エンジニアリング関数 2.【アルファベット順エクセル関数一覧表】 3.【機能別エクセル関数一覧表】 ☆日付/時刻の関数↓   現在の日付/時刻 TODAY() NOW() 年月日・時分秒を取り出す YEAR MONTH DAY HOUR MINUTE SECOND シリアル値を返す DATE DATEVALUE TIME TIMEVALUE 文字列を返す DATESTRING TEXT 曜日 WEEKDAY 稼働日数 WORKDAY NETWORKDAYS 期間の年・月・日数 DATEDIF 月末・何ヶ月後・数日後 EOMONTH EDATE 関数をクリックすると関数の使い方が表示されます。 ■ぱんだの勤務時間計算サポート (Ver3.000) WinArrow作 (フリーウェア) http://blog.moug.net/archives/cat_774699.html?p=5 解説:本ソフトは、勤務形態別のタイムテーブルを用いて勤務時間を求めるツールです。 《詳細》勤務時間計算は、労働基準法で定める「時給単価(基本、時間外、休出、深夜)の規定」に 対応した労働時間(除く、休憩時間)を求めることにあります。 参考にして下さい。

回答No.1

reasさん 今日は! >始業時間・終業時間・休憩時間を入力すれば、実働時間・定時時間・残業時間・深夜時間・深夜残業が >自動的に出るような表を作成しようとしています。作成はしてみたのですが、どうも上手くいきません。 勤務表のようなプログラムは、参考例を見て作成する方が良いでしょう。 ■Excel(エクセル)実用編:時給計算書の作成例(Excel2002/2003) http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/jikyu.htm 概要:完成例がこのサイトからサンプルファイル(jikyu-01.zip 約20KB)のダウンロード出来ます。 ■Excel(エクセル)講座 Q&A(Tips):時刻・時間関連(Excel2002/2003) http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_jikoku.html 概要:時刻の計算と時刻のシリアル値および勤務時間の計算が図解されて居ますので参考にして下さい。  ■Excel2002/2003で勤務表を作成する http://www.h3.dion.ne.jp/~sakatsu/WorkingTimeCalc.htm 概要:詳細が細かく記述されていますが、図解はされていません。 両サイトも原則としてマクロは使用していませんので、判り易いと思います。 この様にプログラムはどの職業の、誰に適用するのかが判らないのでヒントだけしか回答出来ませんので 参考にして下さい。      

関連するQ&A

  • 会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)

    会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)関数の知識がありません。 こちらでいろいろ検索しましたが、求めているものがなかったので質問をさせていただくことにしました。 ご教授お願いいたします。 現在、実働時間⇒=IF(B1="","",A1*24-B1*24-D1)と入力しています。 始業時間と終業時間を入力すると実働時間、実働時間が17:45を超えたら普通残業、22:00~翌5:00は深夜残業としたいのです。 日勤勤務は9:00~17:45、夜勤は17:30~翌9:00です。夜間勤務では1.25の休憩があるため実働時間は5.75となります。 また遅刻早退の時間数を求める関数も入れたいです。 24時間体制での仕事なので深夜の時間に対応したものを求めたいのです。 すべての欄の合計値は7:45とかの表示ではなく7.45という表記にしたいです。  始業時間 終業時間 休憩時間 実働時間 普通残業 深夜残業 遅刻/早退  9:00   17:45   1:00  17:30   翌9:00   休憩時間は標準の書式設定[1]になっています。 初めて質問させていただくので、わかりにくいかと思いますがどうかよろしくお願いいたします。

  • エクセルで勤務表作成について

    昨日もご相談させていただき、色んな方からご回答をいただき、やったぁ~と喜んでいたんですが、色んな検証をすすめていくと、修正が必要だと判明したので、また助けていただけますでしょうか? 以下のような項目で表を作成しているんですが、G7:普通残業の部分でずっとひっかかっております。 宜しくお願いいたします。 A7:月日 B7:区分(土日・祝日に1を入力) C7:始業時間 D7:終業時間 E7:休憩時間 F7:所定時間(7:30までしか表示しない)   =IF(B7>0,"",IF(D7-C7-E7>7.5/24,$F$1,IF(C7="","",D7-C7-E7))) G7:普通残業(実働7:30を超え、8時間までの時間表示) ※ ここが上手く出来ません =IF(B8>0,"",IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),""))という式を入れたんですが、C7:始業時間が9:30、D7:終業時間が18:30(18:30以外の時間は全て表示するようです)、E7:休憩時間が1:00の時、G7:普通残業には0:30とはいらないんです。 =IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),"")という式では上の問題は解決するが、B7:区分に「1」を入力した場合に表示されてしまう。 B7:区分に「1」が入力された場合はJ7:休出残業とK7:休出深夜に数字が飛ぶようにしてあるんです。 H7:時間外(実働8時間を超え、10時間までの時間表示) =IF(B7>0,"",IF(D7>"22:01",D7-C7-E7-"8:00"-I7,IF(D7-C7-E7>8/24,D7-C7-E7-"8:00",""))) I7:深夜残業(実働10時間を超えた場合の時間を表示)   =IF(B7>0,"",IF(D7>"22:00",D7-"22:00","")) J7:休出残業=IF(B7="","",IF(B7=1,IF(C7="","",IF(K7="",D7-C7-E7,D7-C7-E7-K7)),"")) K7:休出深夜=IF(B7="","",IF(B7=1,IF(D7>"22:01",D7-"22:00",""),""))

  • 勤務表作成について

    勤務表作成について 2点の質問がります。 (1)深夜時間(22:00~翌5:00)を求める関数が何度やってもうまくいきません。 ご教授お願いいたします。 例えば終業時間が23:00だった場合、普通残業に4.25、深夜残業に1.0と表示をさせたいです。 現在は普通残業が5.25となってしまっています。 (2)終業時間から遅刻早退の時間を求めたいです。 例えば9:00~12:00まで勤務をしたら休憩はなしになるので、実働時間は3.0、遅刻早退は4.75となるようにしたいです。 また勤務していないは空白としたいのです。 なお、勤務時間の定時は9:00~17:45です。 以上の2点となります。 よろしくお願いいたします。

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

    色々調べてみたのですが、力が足りずうまく行かないので教えてください。 (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を超えた時間外を計算する式 (時間式・分式)はどのように作成したら宜しいでしょうか。 お手数をおかけ致しますが、宜しくお願い致します。

  • エクセル関数で深夜勤務の計算

    エクセルで社内の勤務表を作成しています。深夜勤務の時間計算の関数がわかりません。教えていただけないでしょうか? 条件 1.深夜時間は22:00~05:00 2.始業、終業時間が深夜時間のみになる事もある 3.休憩時間も含めて計算したい。 例 1|   A |  B  |  C |  D  |  E |  F |  G | 2| 始業| 終業 | 再入| 再終|休憩| 実働|深夜 3| 9:00 |23:00 | 2:00 | 6:00 |2:00 |16:00| 宜しくお願い致します。

  • エクセルでタイムカード計算

    初心者です。エクセルで次のような計算をしたいのですが 基本の 始業時間19:00  終業時間1:10 で 実働 5:30 です 21:00~21:20 まで20分休憩を引きます 23:10~23:30 まで20分休憩を引きます 19:00より前は早出になります 1:20から残業ですが2Hに10分ずつ休憩が入ります 残業は30分単位です   それで第2の設定として A 19:00~21:59 普通時間(早出含む) B 22:00~1:10  普通残業 C 1:20~      深夜残業   作成したい表は 始業時間と 終業時間をいれると A(定時だと2:40) B(定時だと2:50) C               と3段階で表示されるものです 何とかできないでしょうか? フリーソフトも色々みたのですが? 困っています 宜しくお願いいたします

  • エクセルで勤怠時間(一部分の)計算方法

    エクセルで社員の勤怠時間の計算を行いたいのですが 始業から終業までの、全ての時間ではなく 始業から終業までの間で行っている、一部の時間(開始時間~終了時間)だけを取り出し計算し さらにそれを、日中時間・残業時間・深夜残業時間に振り分けを行いたいです。 始業時間は、バラバラで午前の人もいれば午後の人もいます。 また、始業=開始でない場合もあります。 色々と類似質問を参照し、式を入れているのですが振り分けがうまくいきません 以下に振り分けの際の条件と例を記載します。 C1:始業時間(手入力) D1:終業時間(C1+TIME(9,0,0)) E1:開始時間(手入力) F1:終了時間(手入力) G1,H1,I1:各時間帯から控除する休憩時間(手入力) J1:日中時間(始業時間~終業時間内の、8時間までの開始時間~終了時間) ※ここの式 K1:残業時間(22時までの終業時間を超過した、開始時間~終了時間) ※ここの式 L1:深夜残業時間(22時以降の終業時間を超過した、開始時間~終了時間) ※ここの式 例) (1)始業/9:00 終業/18:00 開始/13:00 終了/23:00 休憩1/0:30 休憩2/0:15 休憩3/0:00 結果→日中/4:30 残業/3:45 深夜残業/1:00 (2)始業/13:00 終業/22:00 開始/13:00 終了/24:00 休憩1/1:00 休憩2/0:00 休憩3/0:15 結果→日中/8:00 残業/0:00 深夜残業/1:45 お知恵をお貸し下さい

  • Excelで勤務時間の集計をしたいのですが、ウマくいきません。ヘルプお願いします。

    A列⇒始業時間、B列⇒終業時間、C列⇒休憩開始時間、D列⇒休憩終了時間を入力し、E列に定時(通常)時間数、F列に定時(深夜)時間数、G列に残業(通常)時間数、H列に残業(深夜)時間数を出すような形にしたいのですが、どうもウマくいきません。例えば、A⇒15:00、B⇒26:00、C⇒21:30、D⇒22:30と入力した時にE⇒6.5、F⇒1.5、G⇒スペース、H⇒2.0となるためにはE~Hまでどの様な式を入れたらよいのでしょうか?

  • エクセルで勤務時間計算における条件式をつくりたいのですが…

    エクセルでタイムシートを作成しています。2つ教えて頂きたくお力添えお願い致します。 (1)下記 *例えば部分の【カッコ内】 8時間以上(8時間までが時間内)の労働になると、時間外の欄に8時間を越える時間数を表示することは可能でしょうか? 区分:出社、退社、始業時間、終業時間、休憩、時間内実働時間、時間外実働時間(8時間を越えた分) があります。15分きざみでの計算です。 *例えば 出社9:16 退社20:47 始業9:30 終業20:45 休憩1:30【時間内8:00 時間外1:45】 出社9:18 退社18:05 始業9:30 終業18:00 休憩1:30【時間内7:00 時間外 】 (2)時間を入力する際、テンキーで4桁の数字ex.1800と入力すれば、18:00と表示する方法はありますか? 1800と入力すると0:00になってしまいます。 よろしくお願いします。

専門家に質問してみよう