[[20210323154134]] 『残業時間のカウントについて』(momo) ページの最後に飛ぶ

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

 

『残業時間のカウントについて』(momo)

社内残業時間と作業内容の分析をしようと思っていて、自社ソフトからダウンロードしたCSVデータの集計及び分析を行いたいと思っています。
1日の全ての作業内容がデータとして存在し、その内社内作業だけをダウンロードします。その中から残業時間だけを抽出し、その残業時間の集計と作業内容の集計がしたいです。

規定としては

1:日勤=8:30〜17:30
2:2直=13:00〜22:00
3:夜勤=22:00〜翌朝 8:00
※上記以外が残業時間とカウントする
4:時間は10進法へ変換する
5:作業内容によって、時間を細かく区切って自社ソフトへ登録しております。

具体的なデータとしては
A列|B列    |C列   |D列|E列  |F列  |G列|H列


状態|訪問日 from  |訪問日 to    |氏名|作業区分|作業内容|係 |2直・夜勤

実績|2021/3/11 8:00 |2021/3/11 8:30|A氏|社内   |事務処理|1係|夜勤
実績|2021/3/11 7:30 |2021/3/11 8:00|A氏|社内   |出張準備|1係|夜勤
実績|2021/3/11 0:00 |2021/3/11 7:30|A氏|社内   |事務処理|1係|夜勤
実績|2021/3/10 22:00|2021/3/11 0:00|A氏|社内   |社内作業|1係|夜勤
実績|2021/3/10 22:00|2021/3/10 22:30|B氏|社内  |事務処理|1係|日勤
実績|2021/2/23 22:00|2021/2/23 22:30|C氏|社内  |出張準備|2係|2直
実績|2021/2/23 18:00|2021/2/23 22:00|C氏|社内  |事務処理|2係|2直
実績|2021/2/23 13:00|2021/2/23 15:00|C氏|社内  |待機・出張準備|2係|2直

 という具合で約20名分のデータが毎日収集できます。現時点では
=(C列-B列)*24として10進法にて計算し、社内業務時間の計算をしていたのですが、社内の全業務時間ではなく残業時間を集計するということに変更となり困っています。日勤・2直・夜勤と勤務体系が3パターンある中で、実際の残業時間を抽出することは可能なのでしょうか。

いい方法のアドバイスをお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 前提として、日勤・2直・夜勤の場合の勤務時間をどこかにリストにする必要があると思います。
 H列をキーワードにvlookupして、その時間分を全業務時間から引くのが一番簡単ではないでしょうか。
  |A  |B
[1] |日勤 |8:00
[2] |夜勤 |10:00  みたいな。
 もし、残業区分を細かく管理する必要がある(深夜分とか)ともう少し面倒くさいですね。
(権兵衛) 2021/03/24(水) 08:47

コメントありがとうございます。

>日勤・2直・夜勤の場合の勤務時間をどこかにリストにする必要がある
とのアドバイスですが、H列をキーワード(日勤・夜勤・2直)にして、VLOOKUP関数でとのことですが
例えば

【リスト】
日勤 08:30〜17:30
2直 13:30〜22:00
夜勤 22:00〜08:00
こう作ったとして、これをどう活用するのでしょうか。

私の説明文章がつたない為にうまく伝えられていないのかもしれないですが…
おっしゃるように、

>その時間分を全業務時間から引く
というのが、想像つきません。
前回の説明に於いて、表示したとおり、情報としては1日の作業の内、社内作業時間のみのデータ取得しておりますので、1日全体としては、社内も社外もある中で、社内作業時間のみのデータとなっていて、その中から残業時間を割り出したいのです。

そもそも、そんなことは出来ないでしょうか。
もう少し、教えていただけないでしょうか。
何卒宜しくお願いいたします。

(momo) 2021/03/24(水) 12:09


 ああ、すみません
 >※上記以外が残業時間とカウントする
 を見逃していました。
 極端な話、遅刻して15:30に来たとしても17:30以降は残業でいいということでOKですか?

 >=(C列-B列)*24として10進法にて計算し、社内業務時間の計算をしていたのですが
 ここから察するに、各行ごとに残業時間かどうか見れればいいと認識しています。
実績|2021/3/11 8:00 |2021/3/11 8:30|A氏|社内   |事務処理|1係|夜勤|←残業としてカウント
実績|2021/3/11 7:30 |2021/3/11 8:00|A氏|社内   |出張準備|1係|夜勤|
実績|2021/3/11 0:00 |2021/3/11 7:30|A氏|社内   |事務処理|1係|夜勤|
実績|2021/3/10 22:00|2021/3/11 0:00|A氏|社内   |社内作業|1係|夜勤|
 と考えてOKですか?
 また、上記認識でいい場合、B列とC列が7:30〜8:30のように、勤務時間外にまたぐ場合はありますか?
(権兵衛) 2021/03/24(水) 13:05

コメントありがとうございます。

>極端な話、遅刻して15:30に来たとしても17:30以降は残業でいいということでOKですか?
そういうことになります。

> >=(C列-B列)*24として10進法にて計算し、社内業務時間の計算をしていたのですが
> ここから察するに、各行ごとに残業時間かどうか見れればいいと認識しています。
はい。そういうことです。

>また、上記認識でいい場合、B列とC列が7:30〜8:30のように、勤務時間外にまたぐ場合はありますか?
はい。あります。
また、夜勤や2直の場合、日にちをまたぐ場合もあります。

説明不足で申し訳ございません。
何卒宜しくお願いいたします。

(momo) 2021/03/24(水) 16:10


出社、退社の時間記録はないのですか。
この記録がない限り計算は無理でしょう。
>各行ごとに残業時間かどうか見れればいいと認識しています。
回答が楽しみです。
(sd) 2021/03/24(水) 16:39

 残業時間と言うより、本来のシフト外の勤務時間と内容が知りたいということ?
(コナミ) 2021/03/24(水) 16:50

(sd様)

>出社、退社の時間記録はないのですか。
説明文に書き記した通り、1日の全ての作業内容がデータとして存在し、その内、社内作業だけをダウンロードしています
ですので、ご質問の『出社、退社の記録』としては存在しますが、いまは作業区分を【社内】に限定してデータのダウンロードをしています。

(コナミ様)

コメントありがとうございます。
>残業時間と言うより、本来のシフト外の勤務時間と内容が知りたいということ?
定刻開始時間前も含めるわけなので、ご指摘の通り『本来のシフト外の勤務時間と内容』ということになりますね。弊社では早出についても残業としてカウントしているので、私の説明不足でした。
申し訳ございません。

(momo) 2021/03/24(水) 17:06


>実績|2021/3/11 8:00 |2021/3/11 8:30|A氏|社内   |事務処理|1係|夜勤
残業時間は何時間になればいいの。
(PS) 2021/03/24(水) 17:25

 >2:2直=13:00〜22:00
 >   2直 13:30〜22:00
       ↑
     どっちが正しいのですか?

(半平太) 2021/03/24(水) 19:15


(PS様)
>>実績|2021/3/11 8:00 |2021/3/11 8:30|A氏|社内   |事務処理|1係|夜勤
>残業時間は何時間になればいいの。
夜勤は22:00〜翌朝8:00までですので、上記のように8:00〜8:30は
【残業時間=30分】となります

(半平太様)
>>2:2直=13:00〜22:00
> > 2直 13:30〜22:00

       ↑
     どっちが正しいのですか?

申し訳ございません。私の記載ミスですね。
2直=13:00〜22:00までが正しいです。

(momo) 2021/03/29(月) 12:13


>実績|2021/3/10 22:00|2021/3/10 22:30|B氏|社内  |事務処理|1係|日勤
残業時間は何時間になればいいの。
(PS) 2021/03/29(月) 14:20

PS様

>>実績|2021/3/10 22:00|2021/3/10 22:30|B氏|社内  |事務処理|1係|日勤
>残業時間は何時間になればいいの。

日勤は、
8:30〜17:30=定時
17:30〜22:00=平日残業
22:00〜翌朝5:00=深夜残業

となりますので、上記の場合だと深夜残業が【30分】です。
宜しくお願いします。

(momo) 2021/03/31(水) 16:18


 1.K1:P1に数列「1,0,1,-1,0,1」を入力する(下図参照)

 2.集計表の2行目に以下の数式を入れたら、I2:P2を選択して下方へコピーする

  (1) I2セル =IF(H2="","",MAX(0,(C2-B2-SUM(Q2:S2))*24))

  (2) K2セル =INT($B2)+K$1+VLOOKUP($H2,{"日勤","8:30";"2直","13:00";"夜勤","22:00"},2,FALSE)
    この式をM2セルまでコピー

  (5) N2セル =INT($B2)+N$1+VLOOKUP($H2,{"日勤","17:30";"2直","22:00";"夜勤","32:00"},2,FALSE)
    この式をP2セルまでコピー

  (8) Q2セル =MAX(0,MIN(N2,$C2)-MAX(K2,$B2))
    この式をS2セルまでコピー

 <結果図>
 行 __A__ _______B_______ _______C_______ __D__ ____E____ ______F______ _G_ ____H____ ____I____ _J_ _______K_______ _______L_______ _______M_______ _______N_______ _______O_______ _______P_______ ____Q____ ____R____ ____S____
  1 状態  訪問日 from     訪問日 to       氏名  作業区分  作業内容      係  2直・夜勤  残業時間            -1               0               1              -1               0               1 前日間内  当日間内  翌日間内 
  2 実績   2021/3/11 8:00  2021/3/11 8:30 A氏   社内      事務処理      1係 夜勤        0.5         2021/3/10 22:00 2021/3/11 22:00 2021/3/12 22:00  2021/3/11 8:00  2021/3/12 8:00  2021/3/13 8:00      0:00      0:00      0:00
  3 実績   2021/3/11 7:30  2021/3/11 8:00 A氏   社内      出張準備      1係 夜勤          0         2021/3/10 22:00 2021/3/11 22:00 2021/3/12 22:00  2021/3/11 8:00  2021/3/12 8:00  2021/3/13 8:00      0:30      0:00      0:00
  4 実績   2021/3/11 0:00  2021/3/11 7:30 A氏   社内      事務処理      1係 夜勤          0         2021/3/10 22:00 2021/3/11 22:00 2021/3/12 22:00  2021/3/11 8:00  2021/3/12 8:00  2021/3/13 8:00      7:30      0:00      0:00
  5 実績  2021/3/10 22:00  2021/3/11 0:00 A氏   社内      社内作業      1係 夜勤          0          2021/3/9 22:00 2021/3/10 22:00 2021/3/11 22:00  2021/3/10 8:00  2021/3/11 8:00  2021/3/12 8:00      0:00      2:00      0:00
  6 実績  2021/3/10 22:00 2021/3/10 22:30 B氏   社内      事務処理      1係 日勤        0.5           2021/3/9 8:30  2021/3/10 8:30  2021/3/11 8:30  2021/3/9 17:30 2021/3/10 17:30 2021/3/11 17:30      0:00      0:00      0:00
  7 実績  2021/2/23 22:00 2021/2/23 22:30 C氏   社内      出張準備      2係 2直         0.5         2021/2/22 13:00 2021/2/23 13:00 2021/2/24 13:00 2021/2/22 22:00 2021/2/23 22:00 2021/2/24 22:00      0:00      0:00      0:00
  8 実績  2021/2/23 18:00 2021/2/23 22:00 C氏   社内      事務処理      2係 2直           0         2021/2/22 13:00 2021/2/23 13:00 2021/2/24 13:00 2021/2/22 22:00 2021/2/23 22:00 2021/2/24 22:00      0:00      4:00      0:00
  9 実績  2021/2/23 13:00 2021/2/23 15:00 C氏   社内      待機・出張準備 2係 2直           0         2021/2/22 13:00 2021/2/23 13:00 2021/2/24 13:00 2021/2/22 22:00 2021/2/23 22:00 2021/2/24 22:00      0:00      2:00      0:00
 10 実績   2021/3/11 6:00  2021/3/11 8:30 A氏   社内      事務処理      1係 夜勤        0.5         2021/3/10 22:00 2021/3/11 22:00 2021/3/12 22:00  2021/3/11 8:00  2021/3/12 8:00  2021/3/13 8:00      2:00      0:00      0:00
 11 実績  2021/3/10 22:00 2021/3/10 22:30 A氏   社内      事務処理      1係 日勤        0.5           2021/3/9 8:30  2021/3/10 8:30  2021/3/11 8:30  2021/3/9 17:30 2021/3/10 17:30 2021/3/11 17:30      0:00      0:00      0:00

(半平太) 2021/04/02(金) 12:36


半平太様

アドバイスいただいて、目的の資料が出来ました。
大変助かりました。ありがとうございます。
一旦、資料、グラフ、スライサー等の設定をして、完了させたのですが、
教えていただいたK〜Sについて、考え方が分からないという事と、
ピボットテーブルで集計した結果、テーブル内の表示は『4』となっているのに数式バーには『4.00000000011642』と表示されます。。
ピボットテーブルのΣ値に、残業時間を設定しフィールドの設定を『合計』にしています。
結果図では、残業時間は『4』となっているのに、なぜピボットテーブル集計を行って
数式バーには整数で表示されないのでしょうか。

<結果図>

 行 __A__ _______B_______ _______C_______ __D__ ____E____ ______F______ _G_ ____H____ ____I____ _J_ _______K_______ _______L_______ _______M_______ _______N_______ _______O_______ _______P_______ ____Q____ ____R____ ____S____
  1 状態  訪問日 from     訪問日 to       氏名  作業区分  作業内容      係  2直・夜勤  残業時間            -1               0               1              -1               0               1 前日間内  当日間内  翌日間内 
  2 実績   2021/5/19 8:30  2021/5/19 21:30 A氏   社内      事務処理      1係 日勤        4         2021/5/18 8:30 2021/5/19 8:30 2021/5/20 8:30  2021/5/18 17:30  2021/5/19 17:30  2021/5/20 17:30      0:00      9:00      0:00

進捗結果と、使ってみての再度質問が遅くなってしまい、申し訳ございませんが、
ご教授頂けるとありがたいです。
何卒宜しくお願いいたします。

(momo) 2021/06/22(火) 17:17


コメント返信:

[ 一覧(最新更新順) ]


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