• ベストアンサー

excelで年休管理をするには

お世話になります。 時間単位の年休管理をしたいと思っているのですが、表示の仕方がわかりませんので教えてください。 例えば、1日7時間勤務だとして、時間単位の年休が取れるとします。10日間の年休のある人が、1時間の年休を取った場合”9日6時間”、別の日に1日(7時間)取った場合”8日6時間”といったように表示させたいのですが、どのようにすればいいのでしょうか。1時間を0.143として計算しようと思うのですが、その先がよくわかりません。関数について、あまり詳しくありませんのでよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Mr_Holland
  • ベストアンサー率56% (890/1576)
回答No.3

#1/#2です。 お礼&補足を拝見しました。 ありがとうございます。 >A2に2時間、A3に1日(7時間)などと取得した場合、70という数字はどのように変化させればいいのでしょうか。 取得した年休(時間単位)をセルA2から下に順次入力していくとします。 1)セルB1:「70」を入力。 2)セルB2:「=B1-A2」を入力。セルB3以下にコピー。 3)セルC2:「=IF(B2=0,"0時間",IF(INT(B2/7)=0,"",INT(B2/7)&"日")&IF(MOD(B2,7)=0,"",MOD(B2,7)&"時間"))」を入力。セルC3以下にコピー。 これで、取得年度の残数が列Cの一番下のセルに表示されます。 (列Bは作業用の列として使用します。見たくないときは列を非表示にしてください。) >年休なので次年度は残日数(時間は繰り越せないとします)にプラス12日という風にしていきたいのですが。 次年度は列E~Gを使って、取得年休(時間単位)をセルE2以下に入力するとします。 1)セルF1:「=INT(MIN(B:B)/7)*7+12*7」を入力(来年度の追加年休分が84時間(12日)のとき。違うときは数字の12を書き換えてください)。 2)セルF2:「=F1-E2」を入力。セルF3以下にコピー。 3)セルE2:「=IF(F2=0,"0時間",IF(INT(F2/7)=0,"",INT(F2/7)&"日")&IF(MOD(F2,7)=0,"",MOD(F2,7)&"時間"))」を入力。セルF3以下にコピー。 (列Eは作業用の列として使用します。見たくないときは列を非表示にしてください。)

k-cocco
質問者

お礼

早速の回答ありがとうございました。思っていたような管理ができそうです。後は、レイアウトを考えながら作成したいと思います。大変ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Mr_Holland
  • ベストアンサー率56% (890/1576)
回答No.2

#1です。 一点訂正させてください。 先ほどの式では、残りが7時間をきると「0日X時間」と表示されて今いますので、次のように修正させてください。 =IF(A1=70,"0時間",IF(INT((70-A1)/7)=0,"",INT((70-A1)/7)&"日")&IF(MOD(70-A1,7)=0,"",MOD(70-A1,7)&"時間"))

k-cocco
質問者

お礼

回答ありがとうございます。10日を70時間として、考えることは思いつきませんでした。

k-cocco
質問者

補足

年休ですので、取得数によって徐々に減っていくと思うのですが A2に2時間、A3に1日(7時間)などと取得した場合、70という数字はどのように変化させればいいのでしょうか。B行に表示させる場合、70をB1,B2というようにかえるのでしょうか。また、年休なので次年度は残日数(時間は繰り越せないとします)にプラス12日という風にしていきたいのですが。すみませんがよろしくお願いします

すると、全ての回答が全文表示されます。
  • Mr_Holland
  • ベストアンサー率56% (890/1576)
回答No.1

年休を時間単位で考えたほうが分かりやすいと思います。 10日=70時間 もしA1セルに時間単位の取得済み年休が入力されていれば、 =INT((70-A1)/7)&"日"&IF(MOD(70-A1,7)=0,"",MOD(70-A1,7)&"時間") で計算できると思います。

すると、全ての回答が全文表示されます。

関連するQ&A