Excel2003で年次有給休暇(個人)の管理をするための数式を教えて
Excel2003で年次有給休暇(個人)の管理をするための数式を教えてください。
今年度から勤務時間の改正により1日が7時間45分となりました。
有給休暇は1日単位で使用すると7時間45分で計算され、
時間休で使用すると1時間60分で計算されます。
なので、1日取得すると、例えば有給休暇全体が40日0時間であれば39日0時間。
この状態から1時間の時間休を取得すると38日6時間45分となります。
そして、38日0時間45分から1時間の時間休で37日7時間30分となります。
つまり、1日を7時間45分とし、
日単位では7時間45分、時間単位では60分で計算される仕組みです。
今までは、D列に取得日数、E列に取得時間、F列に残り総日数、G列に取得累計日数として、
成数が日数、少数部分が時間として表示させていました。
勤務時間が8時間なので、8進法を使っていました。
分かりにくいのですが、参考までに以前まで使っていた数式を載せます。
F4セル:前年度からの繰り越し休暇日数(例えば20と入力)
B8・C8:申請年月日・曜日(入力欄)
D8・E8:取得日数・時間(入力欄)
F8:有給休暇の残り日数
=IF(B8="","",IF(20*8+F4*8-(D8*8)-E8<64,DEC2OCT(20*8+F4*8-(D8*8)-E8),IF(20*8+F4*8-(D8*8)-E8<128,DEC2OCT(20*8+F4*8-(D8*8)-E8)-20,IF(20*8+F4*8-(D8*8)-E8<192,DEC2OCT(20*8+F4*8-(D8*8)-E8)-40,IF(20*8+F4*8-(D8*8)-E8<256,DEC2OCT(20*8+F4*8-(D8*8)-E8)-60,IF(20*8+F4*8-(D8*8)-E8<320,DEC2OCT(20*8+F4*8-(D8*8)-E8)-80,DEC2OCT(20*8+F4*8-(D8*8)-E8)-100)))))/10)
G8:その年度の有給休暇取得日数累計
=IF(B8="","",IF(B8="","",IF(D8*8+E8<64,DEC2OCT(D8*8+E8),IF(D8*8+E8<128,DEC2OCT(D8*8+E8)-20,IF(D8*8+E8<192,DEC2OCT(D8*8+E8)-40,IF(D8*8+E8<256,DEC2OCT(D8*8+E8)-60,IF(D8*8+E8<320,DEC2OCT(D8*8+E8)-80,DEC2OCT(D8*8+E8)-100))))))/10)
今までは、残り10日と3時間であれば10.3と表示させていました。
今回からは、これを一つのセルに「10日3時間0分」と表示させたいと考えています。
検索サイトで、いくつか数式の紹介があったのですが、
どうも上手に計算・表示させることができなくて困っています。
よろしくお願いします。
お礼
大変丁寧にかつ、わかりやすい対応をしていただきありがとうございます。