[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『出社時間を30分刻みに...』(hallo)
勤務時間の計算で、出社時間を30分刻みにし、22時以降の時間を別表示させたいのですが…(hallo)
出社 退社 普通 深夜
18:52 22:41 3時間 0.5時間
上のように表示させたいと思います。
この場合、出社時間は19時と、退社時間は22時30分とし
22時以降の勤務時間を深夜分として別表示させたく思います。
宜しくお願い致します。
A B C D
1 出社 退社 普通 深夜
2 18:52 22:41 3時間 0.5時間
3 19:00 22:30
文面から判断すると出社時間は30分刻みの切り上げで、退社時間は30分刻みの切り下げにするのですね?
A3の式は =TIME(HOUR(A2),CEILING(MINUTE(A2),30),0)
B3の式は =TIME(HOUR(B2),FLOOR(MINUTE(B2),30),0) で求めました。
C2には「退社時間が22:0:0以上であれば、22:0:0から出社切り上げ時間を引き、
退社時間が22時以内であれば、退社時間の切り下げ時間から出社時間の切り上げ時間を引きなさい。」の式
=IF(B2>TIME(22,0,0),(TIME(22,0,0)-TIME(HOUR(A2),CEILING(MINUTE(A2),30),0))*24,TIME(HOUR(B2),FLOOR(MINUTE(B2),30),0)-TIME(HOUR(A2),CEILING(MINUTE(A2),30),0))
このセルを右クリックして「セルの書式設定」「表示形式」【ユーザー定義】で[ 0"時間" ]とします。
D2の深夜時間を求める式は
=IF(B3>TIME(22,0,0),(TIME(HOUR(B2),FLOOR(MINUTE(B2),30),0)-TIME(22,0,0))*24,0)
このセルを右クリックして「セルの書式設定」「表示形式」【ユーザー定義】で[ 0.0"時間" ]とします。
大変長い式になってしまいましたが、例に表示したセルに上の式をコピーして貼り付けて、セルの書式設定をして確かめて下さい。
要望の通りに表示することを願っています。
(シニア)
前回の式が長すぎますので改めて作表します。
A B C D E F G H I J
1 社員 出社 退社 出勤 退勤 普通 深夜 普通 3.0時間 深夜 0.5時間
2 18:52 22:41 19:00 22:30 3.0時間 0.5時間
D2はA2の出社時間の切り上げ時間(出勤) =TIME(HOUR(B2),CEILING(MINUTE(B2),30),0)
E2はB2の退社時間の切り下げ時間(退勤) =TIME(HOUR(C2),FLOOR(MINUTE(C2),30),0)
F2の普通勤務時間は =IF(E2>TIME(22,0,0),(TIME(22,0,0)-D2)*24,(E2-D2)*24)
G2の深夜勤務時間は =IF(E2>TIME(22,0,0),(E2-TIME(22,0,0))*24,0)
F2:G2の書式設定は【ユーザー定義】で[ 0.0"時間" ]として下さい。
社員の名簿を作成し、その範囲を選択して、
列番号の右端上にある「名前ボックス」の▼をクリックして「社員」と入力して範囲名を付けます。
A2を選択して、データメニューの「入力規則」の設定で入力値の種類「リスト」元の値「=社員」と入力してOK
A2を下方コピーします。これで社員欄で社員名をリスト選択できます。
★おまけ
表内を選択して、データメニューの「フィルタ」→「オートフィルタ」選択
社員の▼をクリックしてリスト選択して、「絞込み」を行います。元に戻すには「すべて」を選択します。
I1に =SUBTOTAL(9,F:F) と入力し、セルの書式設定の【ユーザー定義】で["普通 "0.0"時間" ]として下さい。
この式をJ1にコピーします。セルの書式設定の【ユーザー定義】で["深夜 "0.0"時間" ]に変更します。
これで、社員名の絞込みをするとI1に「普通 8.0時間」J1に「深夜 1.0時間」のように表示合計が計算されます。
最後にB2を選択してウインドウメニューの「ウインドウ枠の固定」をして、一行目とA列をタイトルにします。
楽しみながら、試してみて下さい。
(シニア)
色々とご指導頂き有難うございました。
とてもわかりやすく、また貴重な情報を頂き感謝しております。
早速参考にさせて頂きたいと思います。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.