[[20250227221206]] 『途中から計算されなくなってしまう』(ブチブチ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『途中から計算されなくなってしまう』(ブチブチ)

エクセルで残務表を作成しております。勤務形態が早番・遅番・日勤・夜勤のある24時間勤務時間帯があります。

残業開始時間から残業終了時間で残務時間を割り出しています。
残務時間は5時〜22時の通常残務と22時〜5時の深夜残務で自動で割り当てらられ算出(分)するようにしました。
残業数が29分未満は切り捨て、30分は0.5時間、31分から60分は1時間、以降30分単位で0.5時間づつ加算するため最終的には時間で表記をします。

最終的に紙媒体へ印刷するため、13日分(Excel12〜24)以上の残務に関しては2ページ目に移るようになっています。2ページ目は1ページ目のトータル数を合算するようになっています。

Excel E:残務開始時間、F:残務終了時間、G:通常残務時間、J:深夜残務時間

Gの計算式:=IF(F12="","",TEXT(MAX(0,MIN(TIME(22,0,0),F12)-MAX(TIME(5,0,0),E12)),"[h]:mm")*1)
Jの計算式:=IF(F12="","",TEXT(MAX(0,MIN(F12*1,"29:00")-MAX(E12,"22:00"))+MAX(0,MIN(F12*1,"5:00")-MAX(E12,"0:00")),"[h]:mm")*1)

G25に1ページ目の通常残務合計数(分):=IF($J$52<TIME(0, 30, 0), TEXT(SUM(G12:M24), "[h]:mm") * 1, TEXT(SUM(G12:I24), "[h]:mm") * 1)
G25を時間単位に直す(H):=IF(G25="", "", IF(G25<TIME(0,30,0), 0, IF(G25=TIME(0,30,0), TIME(0,30,0), CEILING(G25, TIME(0,30,0)))) * 24)

J25に1ページ目の深夜残務合計数(分):=TEXT(SUM(J12:M24),"[h]:mm")*1
J25を時間単位に直す(H):=IF(J25="", "", IF(J25<TIME(0,30,0), 0, IF(J25=TIME(0,30,0), TIME(0,30,0), CEILING(J25, TIME(0,30,0)))) * 24)


ここまでは問題なく計算されます。
2ページ目になると通常残務は計算されますが、深夜残務を記載すると通常残務合計数が1ページ目のものになってしまいます。深夜残務は計算されます。
2ページ目が通常残務のみなら問題はありません。

2ページ目
G52に1・2ページの通常残務合計数(分):=IF($J$52<TIME(0, 30, 0), TEXT(SUM(G39:I51,G12:I24,J12:M24,J39:M51), "[h]:mm") * 1, TEXT(SUM(G12:I24), "[h]:mm") * 1)
G52を時間単位に直す(H):=IF(G52="", "", IF(G52<TIME(0,30,0), 0, IF(G52=TIME(0,30,0), TIME(0,30,0), CEILING(G52, TIME(0,30,0)))) * 24)
J52に1・2ページ目の深夜残務合計数(分):=SUM(J12:L24,J39:M51)
J52を時間単位に直す(H):=IF(J52="", "", IF(J52<TIME(0,30,0), 0, IF(J52=TIME(0,30,0), TIME(0,30,0), CEILING(J52, TIME(0,30,0)))) * 24)

それぞれに計算式が違うのは、試行錯誤していた結果です。どれかと同じにすると計算がくるってしまうためこのようになりました。
文章ではわかりにくいので、スプレットシートなどに掲載した方がよいでしょうか?

よろしくお願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows11 >


 >ここまでは問題なく計算されます。

 とおっしゃいますが・・

 1.通常残務時間を計算するのに、なぜ深夜残務時間の多寡をチェックする必要があるんですか?
                        
                       ここ
                        ↓
 >G25に1ページ目の通常残務合計数(分):=IF($J$52<TIME(0, 30, 0), TEXT(SUM(G12:M24), "[h]:mm") * 1, TEXT(SUM(G12:I24), "[h]:mm") * 1)

 2.あと・・・・・質問と直接関係ないですが、何故、ここはL24であって、M24ではないのですか?
                           ↓  
 >J52に1・2ページ目の深夜残務合計数(分):=SUM(J12:L24,J39:M51)

(半平太) 2025/02/28(金) 14:49:22


ご確認ありがとうございます。

1,書かれている通り、重複チェックは不要です。
  作成際の試行錯誤の名残ですが、これを外してしまうと計算がうまくできなくなってしまうためそのままにしていました。

2,書かれている通り。L24ではなくM24です

Excelの知識があまりなく、ネット上で検索しながら試行錯誤しておりました。
ご指摘ありがとうございます。
(ブチブチ) 2025/02/28(金) 19:11:51


 >残業数が29分未満は切り捨て、30分は0.5時間、31分から60分は1時間、
 >以降30分単位で0.5時間づつ加算するため最終的には時間で表記をします。

 30分で丸めるのは、深夜残務だけ且つ10進数表示に変換する時だけなんですか?

(半平太) 2025/02/28(金) 20:40:06


コメント返信:

[ 一覧(最新更新順) ]


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