[[20191021093807]] 『「日をまたぐ時間の集計[運送業の拘束時間管理]」』(モンキー) ページの最後に飛ぶ

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

 

『「日をまたぐ時間の集計[運送業の拘束時間管理]」について』(モンキー)

投稿
『日をまたぐ時間の集計(運送業の拘束時間管理)』について...

【例】
10月1日 前日(9/30)20:55始業→翌日(10/1)9:30終業→拘束時間 12時間45分
10月2日 前日(10/1)20:45始業→翌日(10/2)9:40終業→拘束時間 12時間55分

※運送業の拘束時間は特殊で、10/2の始業時間が10/1の始業時間より10分早いため、その分は10/1の拘束時間に10分足されます!
例えば、10/2の始業時間が20:25だったとすると、10/1より30分早いので10/1の拘束時間は13時間5分になります。
この拘束時間を関数で表すにはどうしたらいいのでしょうか?

 
      

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


 1.セルアドレスが分かるような、具体的なレイアウトを提示して頂けませんか?(無理にとは言いませんが)

 2.10月1日の始業20:55が、前日の時刻だというのは、どこで分かるんですか?
   当日も12:00〜14:00(2時間)働いたら、どんな記入になるんですか?

(半平太) 2019/10/21(月) 10:08


確認ですが
1日の拘束時間は、その日の始業時刻から24時間の間に拘束されていた時間
ということで合っていますか?
(mori) 2019/10/21(月) 10:31

 例えば10月3日の始業が10月2日の20:35だった場合、10月2日の20:45を基準にして
 10分を10月2日の拘束時間に繰り入れるのか
 それとも2日の20:45から20:55は1日に繰り入れられているので20:55を基準にして
 20分を10月2日に繰り入れるのかどちらだろうか?
(ねむねむ) 2019/10/21(月) 10:51

[[20171206170901]] 『日をまたぐ時間の集計(運送業の拘束時間管理)』(MAN)
 他の制約は考えなくてもいいのだろうか?
(ねむねむ) 2019/10/21(月) 11:00

10/1の始業時間が前日の時刻だということは、運転手さんが書いてくださる日報でわかります。
当日働いた時間も、その日の拘束時間に加算されます。
例えば、10/2、10:00〜12:00の2時間働いたら、10/2の拘束時間は14時間55分になります。

運送の始業時間は人によってバラバラなので、1日の拘束時間は、その日の始業時刻から24時間の間に拘束されていたということで合っています。
例の運転手さんの場合は、10/1 20:55〜 10/2 20:55までが一日の拘束時間になります!!

10/3の拘束時間は、始業が10/2の20:35だった場合は、10/2の20:45より10分早いので、10/2の拘束時間に10分加算されて、合計拘束時間は13時間5分になります。
(モンキー) 2019/10/21(月) 11:12


 以下のページの「拘束時間管理表」でEXCELブックがダウンロードできるようだ。
 ただパスワード付きのシート保護がかかっていて数式は見れないようになっている。
(ねむねむ) 2019/10/21(月) 11:41

http://www.hta.or.jp/muroran_news/%E6%8B%98%E6%9D%9F%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86%E8%A1%A8%E3%81%AE%E5%85%AC%E9%96%8B%EF%BC%88%E9%81%A9%E6%AD%A3%E5%8C%96%E4%BA%8B%E6%A5%AD%E5%AE%9F%E6%96%BD%E6%A9%9F%E9%96%A2%EF%BC%89/
(ねむねむ) 2019/10/21(月) 11:42

ねむねむ様 URLありがとうございます。
実は上記のURLの「拘束時間管理表」なのですが、現在使用していますw
ですが、この管理表には、【休息時間欄(※終業時間から次の始業時間までの時間)】がなくて・・・
検索すると色々と管理表は出てくるのですが、どれも重複時間が抜けていたり、休息時間が抜けていたりと完璧なものがなく、自分で作ろうと思ったのですが・・・今、つまずいていますw

土日祝など休日の日は、関数式から除外するにはどうすればいいのでしょうか?

(モンキー) 2019/10/21(月) 12:58


今後の後出し情報が多そうな予感。
やりたいことを全部書き出してください。
(べん) 2019/10/21(月) 13:37

  A  B C D E F G H I
1 日付 曜日 始業 終業  重複  休憩  分割 拘束 休息期間

2 10/1 火 20:55 9:30 00:10 00:30 12:45
      (↑9/30)(↑10/1) 〕  11:15

3 10/2 水 20:45 10:00 00:20 13:15

                                                                                                     〕  10:50
4     10/3     木 20:50     13:00      00:15                4:00     12:25
                                                                                                    〕   7:25
5     10/4     金 20:35      8:30       00:10                           11:55

6 10/5 土

7 10/6 日

8 10/7 月 20:30 9:00 1:00 12:30

上記なようなレイアウトで管理表を作成したいです。
G列の【分割休息】とは1日の拘束時間内に連続して4時間以上の休憩があると休息とみなされ
その日の拘束時間からその分の休憩時間が引かれます。

I列の【休息期間】とは、終業時間から次の始業時間まで休憩した時間です。

土日祝は基本休みなので(たまに仕事あります)、休日の時は拘束時間欄等は空白にしたいです。
休息期間は土日祝でも表示されるようにしたいです。

運送業の拘束時間管理はややこしいと思いますが、宜しくお願いします!

(モンキー) 2019/10/21(月) 18:45


 レイアウトとサンプルデータの対応関係が不明瞭です。

 下図をコピーして、正しい位置に、正しい時間を入れてから、この掲示板に貼り付けてください。

  行  ___A___  __B__  __C__  __D__  __E__  __F__  __G__  __H__  ____I____
   1  報告日   曜日   始業   終業   重複   休憩   分割   拘束   休息期間 
   2  10/1     火     20:55   9:30
   3  10/2     水     20:45  10:00
   4  10/3     木     20:50  13:00
   5  10/4     金     20:35   8:30
   6  10/5     土                 
   7  10/6     日                 
   8  10/7     月     20:30   9:00

(半平太) 2019/10/21(月) 21:16


 行  ___A___  __B__  __C__  __D__  __E__  __F__  __G__  __H__  ____I____
   1  報告日   曜日   始業   終業   重複   休憩   分割   拘束   休息期間 
   2  10/1     火    20:55   9:30 0:10 0:30        12:45
                                                          〕11:15
   3  10/2     水    20:45  10:00       0:20       13:15       
                                                           〕10:50       
   4  10/3     木    20:50  13:00  0:15       4:00   12:25
                                                           〕7:35
   5  10/4     金    20:35   8:30       0:10         11:55
   6  10/5     土                 
   7  10/6     日                 
   8  10/7     月    20:30   9:00        1:00       12:30

半平太様、返事ありがとうございます。
上記のような感じでお願いします。

(モンキー) 2019/10/21(月) 21:58


  また少しズレているんですが、
  下記でいいですか?

   行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ _____H_____ ____I____ ____J____
    1 報告日  曜日  始業  終業  重複  休憩  分割  拘束(正解)  休息期間  私の計算 
    2 10/1    火    20:55  9:30 0:10  0:30        12:45       11:15     12:15    ←相違
    3 10/2    水    20:45 10:00       0:20        13:15       10:50     12:55    ←相違
    4 10/3    木    20:50 13:00 0:15        4:00  12:25        7:35     12:25    
    5 10/4    金    20:35  8:30       0:10        11:55                 11:45    ←相違
    6 10/5    土                                                        
    7 10/6    日                                                        
    8 10/7    月    20:30  9:00       1:00        12:30                 11:30    ←相違

  正解図がそれでいい場合、私はJ列の通りになったのですが、

  1.違っている所の「H2、H3、H5、H8」の計算根拠を教えて貰えませんか?

  2.今回、数式で出すのは、拘束時間(H列)だけですか?(その他は手入力ですか?)

(半平太) 2019/10/21(月) 22:40


半平太様。
先程は名前を間違ってしまい申し訳ありません。

1.違っているところの計算根拠〜
>拘束時間とは【労働時間+休憩時間】のことを表します。

2.数式で出すのは〜
>今回、数式で出すのは、E列【重複時間】、H列【拘束時間】、I列【休息期間】です。
ちなみに、ネットで調べていると、休息期間の式は【1+始業時間−前日の終業時間】とあったのですが、この数式だと今回の運転手さんの時間だと合わないんです。
(モンキー) 2019/10/21(月) 23:45


  >拘束時間とは【労働時間+休憩時間】のことを表します。 

  概念的なことは理解しています。

  1.正解値に至る「そちらの計算根拠」が知りたい

   行  ______(1)____  _(2)_  _(3)_  _(4)_        こちらの計算根拠↓
    1  始業から終業   重複   休憩   分割   拘束   
    2     12:35       0:10   0:30   0:00   12:15   ←(1)+(2)-(3)-(4)
    3     13:15       0:00   0:20   0:00   12:55   ←(1)+(2)-(3)-(4)
    4     16:10       0:15   0:00   4:00   12:25   ←(1)+(2)-(3)-(4)
    5     11:55       0:00   0:10   0:00   11:45   ←(1)+(2)-(3)-(4)
    6                                           
    7                                           
    8     12:30       0:00   1:00   0:00   11:30   ←(1)+(2)-(3)-(4)

 >今回、数式で出すのは、E列【重複時間】、H列【拘束時間】、I列【休息期間】です。

 2.E5(重複期間)は、何故空白なのですか?
   8:35→8:30だから0:05じゃないですか?

 3.I5(休憩期間)は、何故空白なのですか?
   8:30→20:30だから12:00じゃないですか?

(半平太) 2019/10/22(火) 08:18


1、正確値に至る計算根拠
>(1)+(2)−(4)=【拘束時間】です。
休息(4時間以上)は拘束時間に含まれませんが、単なる休憩は拘束時間に含まれます。
重複時間はどのような式で求められたのですか?

2、E5(重複時間)
>翌日は土曜日の為、休日だからです。

3、I 5(休息期間)
>これも、↑同様、翌日が休日だからです。

(モンキー) 2019/10/22(火) 22:08


 >休息(4時間以上)は拘束時間に含まれませんが、単なる休憩は拘束時間に含まれます。

 F列(休憩)って何の関係も無い項目だったのですか。ちょっと紛らわしいですね。

 (1) E2セル =IF(COUNT(C2:C3)<2,"",IF(C3-C2<0,C2-C3,""))
 (2) H2セル =IF(COUNT(C2:D2)<2,"",D2+(D2<C2)-C2-G2+N(E2))
 (3) I2セル =IF(OR(D2="",C3=""),"",C3-D2)

 それぞれ、下にコピー

 >土日祝は基本休みなので(たまに仕事あります)、休日の時は拘束時間欄等は空白にしたいです。 
 >休息期間は土日祝でも表示されるようにしたいです。 

 実例を示して、質問してください。

 あと、私の書き込みを引用するときに、私の文章の前に「>」を入れてください。
 昔のメールの書き方がそうだったので、そちらの書き込み文の前だとちょっと読みにくいです。

(半平太) 2019/10/22(火) 23:44


 >半平太様
 行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ __H__ ____I____
   1  報告日   曜日   始業   終業   重複   休憩   分割   拘束   休息期間 
   2  10/1     火    20:55   9:45        0:35         12:50
   3                                                              〕11:10
   4  10/2     水    20:55   9:30   0:10   0:30         12:45       
   5                                                              〕11:15       
   6  10/3     木    20:45   9:40                       12:55
   7                                                              〕11:10
   8  10/4     金    20:50   9:30          0:30         12:40
   9                               〕14:30→4日9:30〜5日24:00
  10  10/5     土                                                
  11                                                              〕24:00→5日24:00〜6日24:00
  12  10/6     日                 
                                  〕44:50→上記の24:00と
                                      6日24:00〜7日20:50
                                     までの20:50を合算
                                     (24:00+20:50)
  11  10/7     月    20:50   9:40          0:35         12:50

>(3) I2セル =IF(OR(D2="",C3=""),"",C3-D2)

I列の休息期間は上記のように表示させたいです。

>また前日出発ではない運行の場合でも上記の数式は使えるのでしょうか?
 例えば、

行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ __H__ ____I____

   1  報告日   曜日   始業   終業   重複   休憩   分割   拘束   休息期間 

   2  10/1     火    1:55   20:50          2:30   5:30   13:25
                                                               〕12:40←2日20:50〜3日4:00まで
                                    の7:10と2日の分割(G)
                                    5:30を合算
   3  10/2     水    4:00   16:05   2:05   1:00   14:10                                            〕9:50
   4  10/3     木    1:55   20:50          3:00   5:30   13:25 
                                                               〕12:40←4日20:50〜5日4:00まで
                                    の7:10と2日の分割(G)
                                    5:30を合算  
   5  10/4     金    4:00   16:20          1:00          12:20 
                                 〕7:40←5日16:20〜6日24:00 
   6  10/5     土                 
                                                               〕24:00←6日24:00〜7日24:00
   7  10/6     日                 
                                 〕25:55←上記の24:00と
                                      6日24:00〜7日1:55
                                     までの1:55を合算
                                     (24:00+1:55)
   8  10/7     月    1:55   20:45          3:00   5:10   13:40
(モンキー) 2019/10/23(水) 11:27

 (1) E2セル =IF(COUNT(C2:C3)<2,"",IF(C3-C2<0,C2-C3,""))
 (2) H2セル =IF(COUNT(C2:D2)<2,"",MAX(0,D2+(D2<C2)-C2-G2+N(E2)))
 (3) I2セル =IF(A3="","",MAX(0,C3+OR(D2="",C3<=D2)-D2+G2))

 それぞれ、下にコピー

 <結果図>
  行  ___A___  __B__  __C__  __D__  __E__  __F__  __G__  _____H_____  ____I____
   1  報告日   曜日   始業   終業   重複   休憩   分割    拘束     休息期間 
   2  10/1     火     1:55   20:50         2:30    5:30    13:25        12:40
   3  10/2     水     4:00   16:05  2:05   1:00   14:10     0:00        24:00
   4  10/3     木     1:55   20:50         3:00    5:30    13:25        12:40
   5  10/4     金     4:00   16:20         1:00            12:20         7:40
   6  10/5     土                                                       24:00
   7  10/6     日                                                       25:55
   8  10/7     月     1:55   20:45         3:00    5:10    13:40             

(半平太) 2019/10/23(水) 13:03


>半平太様
上記の式を入力したところ、希望通りの結果にできました。
本当にありがとうございます。

あと、もうひとつだけ教えて頂きたいのですが・・・

行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ _____H_____ I  ____J____

   1  報告日   曜日   始業   終業   重複   休憩   分割    拘束   判定  休息期間 
   2  10/1     火     1:55   20:50         2:30    5:30    13:25     ○     12:40
   3  10/2     水     4:00   16:05  2:05   1:00   14:10     0:00     ○   24:00
   4  10/3     木     1:55   20:50         3:00    5:30    13:25     ○     12:40
   5  10/4     金     4:00   16:20         1:00            12:20     ○    7:40
   6  10/5     土                                                         24:00
   7  10/6     日                                                         25:55
   8  10/7     月     1:55   20:45         3:00    5:10    13:40     ○        

上記のように【判定欄】を足したいのですが・・・

拘束時間が『16時間以上』なら・・・☓
〃    『15時間以上16時間未満』なら・・・△
〃    『15時間未満』なら・・・○

と、表記させるにはどうすればよろしいでしょうか?
(モンキー) 2019/10/23(水) 13:24


>半平太様

立て続けに質問失礼します。

行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ __H__ ____I____

   1  報告日   曜日   始業   終業   重複   休憩   分割   拘束   休息期間 
   2  10/1     火    -20:55   9:30 0:10 0:30        12:45
                                                          〕11:15
   3  10/2     水    -20:45  10:00       0:20       13:15       
                                                           〕10:50       
   4  10/3     木    -20:50  13:00  0:15       4:00   12:25
                                                           〕7:35
   5  10/4     金    -20:35   8:30       0:10         11:55
   6  10/5     土                 
   7  10/6     日                 
   8  10/7     月    -20:30   9:00        1:00       12:30

最初に質問させて頂いた、”前日の夜”出発の運行なのですが、始業時間を入力するときに、時間の前に“-”を付けると計算はおかしくなりますか?(上記参照)
(モンキー) 2019/10/23(水) 15:23


 >時間の前に“-”を付けると計算はおかしくなりますか?

 なりますよ。

 >上記のように【判定欄】を足したいのですが・・・

 =IF(ISNUMBER(H2),VLOOKUP(TEXT(H2,"[h]:m")*1,{0,"○";0.625,"△";0.666,"×"},2),"")

(半平太) 2019/10/23(水) 16:21


>半平太様

>なりますよ。
もし、出発時刻に“-”を付けたい場合はどのような式になりますか?

>【判定欄】

=IF(拘束>=TIME(16,0,1),“×”,IF(拘束>=TIME(15,0,1),"△","○")))
の式ではおかしいですか?
できれば時刻はシリアル値じゃないほうがいいのですが…
(モンキー) 2019/10/23(水) 17:53


 >=IF(拘束>=TIME(16,0,1),“×”,IF(拘束>=TIME(15,0,1),"△","○"))) 
 >の式ではおかしいですか? 

 それでいいですが、拘束時間の数式が小数演算誤差排除の加工をしていないので、
 その式を下記に変えてください。
      ↓       
 H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,D2+(D2<C2)-C2-G2+N(E2)),"[h]:m")*1)

 >できれば時刻はシリアル値じゃないほうがいいのですが…

 じゃ、何値を使うんですか?

 >もし、出発時刻に“-”を付けたい場合はどのような式になりますか? 

 正直言って意味不明なんですけど。

 そんなデータ、実際セルに入れることが出来ましたか?(文字列型にしたのですか?)

(半平太) 2019/10/23(水) 18:09


なぜ"-"をつけたいのだろう?昔からの習慣?
オジサマ方はそういうのを従来どおりにできないだけで「使えねぇ」言い出しますよね。
お察しします。
(べん) 2019/10/23(水) 19:07

>半平太様

>そんなデータ、実際セルに入れることが出来ましたか?(文字列型にしたのですか?)

現在、使用している下記URLの【拘束管理表】では、前日出発の場合は−を付けて下さい。
とあったので、そのようなことができるのかとお聞きしました。

http://www.hta.or.jp/muroran_news/%E6%8B%98%E6%9D%9F%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86%E8%A1%A8%E3%81%AE%E5%85%AC%E9%96%8B%EF%BC%88%E9%81%A9%E6%AD%A3%E5%8C%96%E4%BA%8B%E6%A5%AD%E5%AE%9F%E6%96%BD%E6%A9%9F%E9%96%A2%EF%BC%89/
(モンキー) 2019/10/23(水) 19:09


 >下記URLの【拘束管理表】では、前日出発の場合は−を付けて下さい。 とあったので、

 「時間は整数で入れてください」とかもありませんでしたか?

  入力したい時刻が「1:55」である場合、どんな整数で入れるんですか? 

(半平太) 2019/10/23(水) 19:25


 >  入力したい時刻が「1:55」である場合、どんな整数で入れるんですか? 

 1.55と小数で入力しする手段はありますね。

 それだと、マイナスも付けられます。

 まぁ、私はやる気ないので、他の回答者を当たってください。

(半平太) 2019/10/23(水) 19:36


>半平太様

上記URLの【拘束管理表】では、時間を打つ時は『:』なしで数字だけを入れる感じです。
例えば、『20:55』なら→『2055』と、『1:55』なら→『155』と入力する感じです。
ちなみに、深夜時間の『1:55』は→『2555』と入力して下さいありました。

>他の回答者を当たってください。

もう少しだけ、半平太様のお力をお貸し頂きたかったのですが、残念です。
お忙しい中、たくさんご伝授頂きありがとうございました!!
(モンキー) 2019/10/23(水) 19:59


>できれば時刻はシリアル値じゃないほうがいいのですが…
URLの【拘束管理表】みたいなことをやりたいのかな?

(閲覧者) 2019/10/23(水) 21:28


>閲覧者様

URLの【拘束管理表】に休息期間欄を追加したものが理想の形です!!
(モンキー) 2019/10/23(水) 21:48


>【拘束管理表】では、前日出発の場合は−を付けて下さい。
とあったので、そのようなことができるのかとお聞きしました。

当日か前日かを−を付けてただ単に区別しているだけのことです。
−を付けた時刻表示はできません。

>上記URLの【拘束管理表】では、時間を打つ時は『:』なしで数字だけを入れる感じです。
整数のみ入力して「:」を省き入力手間を省いているだけのことです。

貴方は通常どのように時刻を入力しますか。
半平太さんも再三時刻のアドバイスをされていますよね。

拘束管理表ではこれらを関数や条件書式等々を組み合わせて作成されているのです。
(のりん) 2019/10/23(水) 22:32


>URLの【拘束管理表】に休息期間欄を追加したものが理想の形です!!

自分で追加して作成したら。

作成依頼お断り。

(閲覧者) 2019/10/23(水) 22:55


>閲覧者さん

貴方に作って下さいとはお願いしていません。
半平太様のお力をお借りし、理想の形に近いものはできました!
冷やかしのコメントなど求めていません。
(モンキー) 2019/10/24(木) 07:37


>のりんさん

>当日か前日かを−を付けてただ単に区別しているだけのことです。
→その『区別』がしたいのです。
(モンキー) 2019/10/24(木) 08:03


>半平太様

>上記のように【判定欄】を足したいのですが・・・

 =IF(ISNUMBER(H2),VLOOKUP(TEXT(H2,"[h]:m")*1,{0,"○";0.625,"△";0.666,"×"},2),"")

↑こちらの数式を試してみたのですが、反映されませんでした・・・
 判定欄には入力した数式がそのまま表示されてしまいます。
(モンキー) 2019/10/24(木) 10:11


表示形式を「0":"00」で整数4桁を疑似的に時刻のように表示させるのが興味深く覗きに来ました。
せっかく入力規則も使っているのだから(整数?)
 =AND(ABS(セル)=INT(ABS(セル)),ABS(セル)-INT(ABS(セル)*0.01)*100<60,ABS(セル)<4800,ABS(セル)>-2400)

のような式を入れて60以上の「分」や大きすぎる「時」を拒否しても良いのにとかブツブツ考えていますが・・・。

モンキーさん
セルの書式設定が「文字列」になっていませんか?
(mori) 2019/10/24(木) 11:04


mori様

>=AND(ABS(セル)=INT(ABS(セル)),ABS(セル)-INT(ABS(セル)*0.01)*100<60,ABS(セル)<4800,ABS(セル)>-2400)

 この数式はどこに入力するのですか?

>セルの書式設定が「文字列」になっていませんか?
「文字列」になっていました。
 セルの書式は『標準』でいいんですか?

 あと「15:00」は"○"判定にしたいのですが、"△"になってしまいます。
 どのように対処すればよいのかお教えいただいてもよろしいでしょうか?
(モンキー) 2019/10/24(木) 11:35


その式は時刻の整数表記法の条件付き書式案です。
セルの書式は「文字列」以外なら計算はしてくれると思います。

わからない数式を採用してもモンキーさんが維持管理できないでしょうから、
教えてもらった式を理解するか、わかる数式にするかどちらかが良いと思います。
(mori) 2019/10/24(木) 12:23


>あと「15:00」は"○"判定にしたいのですが、"△"になってしまいます。
"△"になってしまいます。のではなく条件が
>拘束時間が『15時間以上16時間未満』なら・・・△
となっているからです。

条件を変更するなら前期の拘束時間条件を見直して質問せよ。

(mori) 2019/10/24(木) 12:23さんと同様です。

質問も後出し後出ししていると回答者に嫌われるよ。

(閲覧者) 2019/10/24(木) 18:43


 解決に程遠いなぁ・・気は進まないが、

 (1) E2セル =IF(COUNT(C2:C3)<2,"",IF(ABS(C3)-ABS(C2)<0,TEXT(ABS(C2),"0!:00")-TEXT(ABS(C3),"0!:00"),""))
 (2) H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,TEXT(D2,"0!:00")+(D2<ABS(C2))-TEXT(ABS(C2),"0!:00")-TEXT(G2,"0!:00")+TEXT(0&E2,"0!:00")),"[h]:m")*1)
 (3) I2セル =IF(H2="","",IF(H2<=TIME(15,0,0),"○",IF(H2<=TIME(16,0,0),"△","×")))
 (4) J2セル =IF(A3="","",MAX(0,TEXT(ABS(C3),"0!:00")+OR(D2="",ABS(C3)<=D2)-TEXT(D2,"0!:00")+TEXT(G2,"0!:00")))

 <結果図>
  行 ___A___ __B__ __C__ __D__ __E__ ______F______ __G__ __H__ __I__ ____J____
   1 報告日  曜日  始業  終業  重複  休憩(無関係)  分割  拘束  判定  休息期間 
   2 10/1    火    -155  2050         無視           530 13:25  ○    12:40
   3 10/2    水    -400  1605  2:05   〃            1410  0:00  ○    24:00
   4 10/3    木     155  2050         〃             530 13:25  ○    12:40
   5 10/4    金     400  1620         〃                 12:20  ○     7:40
   6 10/5    土                       〃                              24:00
   7 10/6    日                       〃                              25:55
   8 10/7    月     155  2045         〃             510 13:40  ○         

 ※ 計算結果はシリアル値なので、
    「重複、拘束、休息期間」のセルの書式(表示形式)は [h]:mm に設定する必要があります。

(半平太) 2019/10/24(木) 22:27


>→その『区別』がしたいのです。
(モンキー) 2019/10/24(木) 08:03

アイコンセットは如何ですか。

条件付き書式
 ↓
新しいルール
 ↓
セルの値に基づいてすべてのセルを書式設定
 ↓
書式スタイル(アイコンセット)
 ↓
アイコン(N) 値アイコン選択
      下2つはセルのアイコンなしにする
 ↓
   値(V)  種類(T)
>=  =20/24  数式
>=  =20/24  数式  この様にセットする。

私は星型の真ん中を選んでみました。半分色分けされているので
区別には最適だと感じます。

値(V)は(20:00)以降としています。

(モンキー) 2019/10/23(水) 13:24 の表に適用してください。
(閲覧者) 2019/10/24(木) 23:38


>(半平太)様 2019/10/24(木) 22:27

気が進まないのに、ご教示して頂き、本当にありがとうございます!!
早速、

 (1) E2セル =IF(COUNT(C2:C3)<2,"",IF(ABS(C3)-ABS(C2)<0,TEXT(ABS(C2),"0!:00")-TEXT(ABS(C3),"0!:00"),""))
 (2) H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,TEXT(D2,"0!:00")+(D2<ABS(C2))-TEXT(ABS(C2),"0!:00")-TEXT(G2,"0!:00")+TEXT(0&E2,"0!:00")),"[h]:m")*1)
 (3) I2セル =IF(H2="","",IF(H2<=TIME(15,0,0),"○",IF(H2<=TIME(16,0,0),"△","×")))
 (4) J2セル =IF(A3="","",MAX(0,TEXT(ABS(C3),"0!:00")+OR(D2="",ABS(C3)<=D2)-TEXT(D2,"0!:00")+TEXT(G2,"0!:00")))

等の、数式を入力させていただきました。
始業時間、終業時間を入力する時は「-20:55」という感じで入力すればいいのですか?
(モンキー) 2019/10/25(金) 11:15


 >始業時間、終業時間を入力する時は「-20:55」という感じで入力すればいいのですか?

 終業時間にマイナスは想定していないです。(両者とも完全に前日のデータを当日入れるのは不自然なので)

 マイナス20時55分の入力は、 -2255 です。 (上記の結果図を参照してください。)
 それが希望なんでしょ?

 そのデータをどう見せるかはセルの書式の設定次第です。
 私は、興味ないのでそちらで自由に設定してください。

(半平太) 2019/10/25(金) 11:46


>(半平太) 2019/10/25(金) 11:46様

終業時間にマイナスを入れることはありませんでした。すいません。

>マイナス20時55分の入力は、 -2255 です。 (上記の結果図を参照してください。)
希望通りできました。ありがとうございます。

(1) E2セル =IF(COUNT(C2:C3)<2,"",IF(ABS(C3)-ABS(C2)<0,TEXT(ABS(C2),"0!:00")-TEXT(ABS(C3),"0!:00"),""))

 (2) H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,TEXT(D2,"0!:00")+(D2<ABS(C2))-TEXT(ABS(C2),"0!:00")-TEXT(G2,"0!:00")+TEXT(0&E2,"0!:00")),"[h]:m")*1)
 (3) I2セル =IF(H2="","",IF(H2<=TIME(15,0,0),"○",IF(H2<=TIME(16,0,0),"△","×")))
 (4) J2セル =IF(A3="","",MAX(0,TEXT(ABS(C3),"0!:00")+OR(D2="",ABS(C3)<=D2)-TEXT(D2,"0!:00")+TEXT(G2,"0!:00")))

↑この数式で処理したところ、
【拘束時間(重複時間を含まない】→D2-C2-G2+IF(C2>G2,1)=72000:00
【労働時間】→拘束時間(重複を含まない)-休憩時間=71160:00
と表示されてしまったのですが、対処方法を教えてください(・・;)

(モンキー) 2019/10/25(金) 13:01


 >【拘束時間(重複時間を含まない】→D2-C2-G2+IF(C2>G2,1)=72000:00 
 >【労働時間】→拘束時間(重複を含まない)-休憩時間=71160:00 

 どこの列の話ですか? 私の作った式?

 始業時刻と終業時刻は何ですか?

(半平太) 2019/10/25(金) 13:54


>半平太様

失礼しました。
【拘束時間(重複時間を含まない)】と【労働時間】は自分でもともと作成していた欄です。

 行 ___A___ __B__ __C__ __D__ __E__ __F__ __G__ _____H_____ ____I____ ____J____     K
    1 報告日  曜日  始業  終業  重複  休憩  分割  拘束(正解)  休息期間  拘束2   労働
    2 10/1    火    20:55  9:30 0:10  0:30        12:45       11:15     12:35    12:05
    3 10/2    水    20:45 10:00       0:20        13:15       10:50     13:15    12:55 
    4 10/3    木    20:50 13:00 0:15        4:00  12:25        7:35     12:10    12:10    
    5 10/4    金    20:35  8:30       0:10        11:55                 11:55    11:45
    6 10/5    土                                                        
    7 10/6    日                                                        
    8 10/7    月    20:30  9:00       1:00        12:30                 12:30    11:30

J列・・・【拘束時間(重複時間を含まない)】
K列・・・【労働時間】

で、欄を作っているのですが・・・
(モンキー) 2019/10/25(金) 14:34


>半平太様

(半平太) 2019/10/24(木) 22:27
<結果図>

  行 ___A___ __B__ __C__ __D__ __E__ ______F______ __G__ __H__ __I__ ____J____
   1 報告日  曜日  始業  終業  重複  休憩(無関係)  分割  拘束  判定  休息期間 
   2 10/1    火    -155  2050         無視           530 13:25  ○    12:40
   3 10/2    水    -400  1605  2:05   〃            1410  0:00  ○    24:00
   4 10/3    木     155  2050         〃             530 13:25  ○    12:40
   5 10/4    金     400  1620         〃                 12:20  ○     7:40
   6 10/5    土                       〃                              24:00
   7 10/6    日                       〃                              25:55
   8 10/7    月     155  2045         〃             510 13:40  ○  

上記の図を再度見ていたのですが・・・E列の重複時間がH列の拘束時間に反映されていないですか?
(モンキー) 2019/10/25(金) 14:59


 >E列の重複時間がH列の拘束時間に反映されていないですか?

  私の数式に以下の誤りがありました。 m(__)m

  > (2) H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,TEXT(D2,"0!:00")+(D2<ABS(C2))-TEXT(ABS(C2),"0!:00")-TEXT(G2,"0!:00")+TEXT(0&E2,"0!:00")),"[h]:m")*1)
      ↓
  正 (2) H2セル =IF(COUNT(C2:D2)<2,"",TEXT(MAX(0,TEXT(D2,"0!:00")+(D2<ABS(C2))-TEXT(ABS(C2),"0!:00")-TEXT(G2,"0!:00")+N(E2)),"[h]:m")*1)

   ちょっと質問の方向がよく分からないのですが・・

  「入力は整数とし、結果はシリアル値とする」に決まったんですよね?

  だとすれば、掲示された表のデータはそのベースで入っているんですね。
  ※つまり「20:55」は「実際には2055」と入れている。

  なら、いままでの数式でまともに出る訳はありません。

  加えて、 拘束時間は私の数式で既に出ているので、【拘束2】を直接算出する必要性は感じないです。 
  拘束時間から重複時間を引けばいいだけです。

   J2セル =IF(H2="","",H2-N(E2))

  また【労働時間】も同様に、上の【拘束2】から休憩時間を引くだけです。

   K2セル =IF(H2="","",J2-TEXT(F2,"0!:00"))

(半平太) 2019/10/25(金) 15:45


>半平太様

>なら、いままでの数式でまともに出る訳はありません。

J列・・・【拘束時間(重複時間を含まない)】
K列・・・【労働時間】
↑こちらの数式は、このサイトで相談する前から入力していたものです(>人<;)
なので、半平太様にご教示して頂いた数式に適応できなかったんだと思います。

  加えて、 拘束時間は私の数式で既に出ているので、【拘束2】を直接算出する必要性は感じないです。 
  拘束時間から重複時間を引けばいいだけです。
   J2セル =IF(H2="","",H2-N(E2))
  また【労働時間】も同様に、上の【拘束2】から休憩時間を引くだけです。
   K2セル =IF(H2="","",J2-TEXT(F2,"0!:00"))
>また月曜日に会社に行った時、試してみたいと思います。
 何度も質問してしまい申し訳ありませんでした。
 そして、親切に答えてくださり、本当にありがとうございます。

(モンキー) 2019/10/25(金) 17:36


半平太様

おはようございます。

・J2セル =IF(H2="","",H2-N(E2))

  また【労働時間】も同様に、上の【拘束2】から休憩時間を引くだけです。
>休み前に教えて頂いた数式で無事解決できました。
 ありがとうございました。

最後になんですが・・・
【重複時間】&【休息期間】についてですが、

 ・≪1日目≫10/20(日)23:00始業→10/21(月)11:30終業【内)休息4時間、休憩55分】
 ・≪2日目≫10/21(月)17:30始業→10/22(火)6:15終業 【内)休息4時間30分、休憩3時間20分】
 ・≪休日≫
 ・≪3日目≫10/23(水)6:20始業→10/23(水)16:40終業 【内)休憩1時間40分】

↑上記のような運行が発生した場合、現在の管理表では

  行 ___A___ __B__ __C__ __D__ __E__ ______F______ __G__ __H__ __I__ ____J____
   1 報告日  曜日  始業  終業  重複  休憩(無関係)  分割  拘束  判定  休息期間 
   2 10/20   日    
   3 10/21   月   -2300  1130  5:30   0:55          4:00 14:00  ○    10:00
   4 10/22   火   -1730   615 11:10   3:20          4:30 19:25  ☓     4:35
   5 10/23   水     620  1640         1:40               10:20  ○     7:20

と、表記せれます。
本来は、10/22の6:15に終わって、次の運行は翌日の10/23の6:20から運行が始まるので、重複時間『11:10』は間違いなんです。

 行 ___A___ __B__ __C__ __D__ __E__ ______F______ __G__ __H__ __I__ ____J____
   1 報告日  曜日  始業  終業  重複  休憩(無関係)  分割  拘束  判定  休息期間 
   2 10/20   日    
   3 10/21   月   -2300  1130  5:30   0:55          4:00 14:00  ○    10:00
   4 10/22   火   -1730   615       3:20          4:30  8:15  ○    22:15 
   5 10/23   水     620  1640         1:40               10:20  ○     7:20 

が、正解図なのですが・・・対処方法はありますか(@_@;)??
(モンキー) 2019/10/28(月) 10:26


 E2セル =IF(OR(COUNT(C2:C3)<2,AND(SIGN(C2)=-1,SIGN(C3)<>-1)),"",IF(ABS(C3)-ABS(C2)<0,TEXT(ABS(C2),"0!:00")-TEXT(ABS(C3),"0!:00"),""))

 下にコピー

(半平太) 2019/10/28(月) 16:26


>半平太様
ご教示ありがとうございます。
明日、早速会社で試してみます‼
J列の休息期間は先日ご教示頂いた関数のままで大丈夫でしょうか?
(モンキー) 2019/10/28(月) 18:14

 >J列の休息期間は先日ご教示頂いた関数のままで大丈夫でしょうか?

 ありゃ、そんな所にも影響するんですか。。

 22:15の計算の内訳を教えてください。

(半平太) 2019/10/28(月) 20:26


> 22:15の計算の内訳を教えてください。

はい!!

10/22の6:15〜24:00(午前0時)までの『17時間45分』と10/22の分割休息『4時間30分』を足したものです。

ちなみに・・・

行 ___A___ __B__ __C__ __D__ __E__ ______F______ __G__ __H__ __I__ ____J____

   1 報告日  曜日  始業  終業  重複  休憩(無関係)  分割  拘束  判定  休息期間 

   2 10/20   日      
   3                                                                   10:00   
   4 10/21   月   -2300  1130  5:30   0:55          4:00 14:00  ○    
   5                                                                  
   6 10/22   火   -1730   615       3:20          4:30  8:15  ○     22:15
   7                                                                   30:20 
   8 10/23   水     620  1640         1:40               10:20  ○     

 J7の『30時間20分』は

 10/22の24:00〜10/23の6:20を足したものです。
(モンキー) 2019/10/29(火) 09:22


 > J7の『30時間20分』は10/22の24:00〜10/23の6:20を足したものです。

      28時間35分じゃないですか?

 J2セル =IF(A3="","",IF(C3<0,-1+TEXT(ABS(C3),"0!:00"),TEXT(C3,"0!:00")*1)-IF(D2="",-1,TEXT(D2,"0!:00")-1)+TEXT(G2,"0!:00"))

 下にコピー

(半平太) 2019/10/29(火) 15:56


>28時間35分じゃないですか?

10/22の0:00〜10/23の0:00までの『24時間』と
10/23の0:00〜10/23の6:20までの『6時間20分』を足したものになります。

> J2セル =IF(A3="","",IF(C3<0,-1+TEXT(ABS(C3),"0!:00"),TEXT(C3,"0!:00")*1)-IF(D2="",-1,TEXT(D2,"0!:00")-1)+TEXT(G2,"0!:00"))

ありがとうございます。
明日試してみます‼

(モンキー) 2019/10/29(火) 18:46


  ボールは私の方にあるんでしょうか?

  >   6 10/22   火   -1730   615       3:20          4:30  8:15  ○     22:15
  >   7                                                                   30:20 
  >   8 10/23   水     620  1640         1:40               10:20  ○ 

  1.いままで、1日1行で進んでいたと思うんですが、なぜ、1行飛び(?)になったんですか?

  >10/22の0:00〜10/23の0:00までの『24時間』と 
  >10/23の0:00〜10/23の6:20までの『6時間20分』を足したものになります。 

  2.10/22 6:15 が終業で、10/23 6:20 始業ですから、
    その間 24:05 で分割が4:30ですから、28:35にしかならないです。

   10/22の0:00〜 とはどこを見ると、そんなスタートからの計算になると分かるんですか?

(半平太) 2019/11/01(金) 17:24


半平太様

お返事が遅くなり申し訳ございませんでした。

> 2.10/22 6:15 が終業で、10/23 6:20 始業ですから、

    その間 24:05 で分割が4:30ですから、28:35にしかならないです。

私自身も再度確認し、上司にも確認してもらったところ、半平太様がおっしゃる通り『28:35』が正しかったです。
今まで使っていたソフトが『30:20』と表記されたため、それが正しいと信じ込んでしまっていました。ご指摘ありがとうございました。

1.休息期間のセルに条件付きで色をつけたいのですが・・・

 【条件】分割休息を含んで“10時間未満の場合(10時間丁度は含まない)”

 御教授お願いします((+_+))
(モンキー) 2019/11/06(水) 09:17


 >1.休息期間のセルに条件付きで色をつけたいのですが・・・ 
 > 【条件】分割休息を含んで“10時間未満の場合(10時間丁度は含まない)” 

 J2セルを先頭に下方へドラッグ選択してから、以下の「条件付き書式」を設定する。

  ルールの種類: 数式を使用して、書式設定するセルを決定
  数式ボックス: =J2-"9:59:59"<0 
  書式    : 任意の色を指定する

(半平太) 2019/11/06(水) 09:45


半平太様

早速のお返事ありがとうございました。
今回は数多くの【後出し質問】にも親切に丁寧に答えてくださり、
本当にありがとうございました。
半平太様のお陰で、大変納得のいく管理表が作成できました。
(モンキー) 2019/11/06(水) 10:29


コメント返信:

[ 一覧(最新更新順) ]


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