Ameba Ownd

アプリで簡単、無料ホームページ作成

Excelで法定帳簿作ってみました(出勤簿編)③

2021.08.16 01:10

前回深夜労働時間までやっちゃったので、今回は休日労働の関数を作っていきます。

勤怠の部分に休日と入力することによって、所定休日の列(列L)にその日の労働時間を全て反映する関数を作ります。

7月3日は土曜日で所定休日に労働したとします。関数は「もしセルE8に”休日”と入力されていたらセルL8に労働時間の値を返す、違う場合は0を返す」という意味で

セルL8 に IF(E3=$A$7,I8,0) ※$A$7は"休日"です(リストを作るときに入力していたのでここを絶対参照とします。$A$7ではなく"休日"で関数を作ってもOKです)。

あとはいつも通り他の列にコピペしてください!

法定休日の場合は勤怠の部分に"公休"を入力して、同じように関数を作成します。

例では7月11日に法定休日労働をしたとします。

セルM16 に IF(E16=$A$6,I16,0) で、他の列にコピペでOK。

ここまで作って、大問題発生です(>_<)

今の関数のままだと所定休日および法定休日に8時間以上労働したとき、普通残業の部分に8時間を超えた時間が反映されてしまいます…。

法定休日に8時間以上労働しても3.5+2.5=6割の割増率にはなりません。休日労働はあくまで休日労働なので何時間働いても3割5分の割増のままです。ちなみに休日の深夜労働の場合は加算されます(3.5+2.5=6割)。

ということで、列J の関数に条件を加算しちゃいましょう。

もし 列L か 列M に0より大きい値が入っていたら 0 を返し、違ったら労働時間が8時間以上の場合に労働時間と8時間との差を返す という関数にします。

もともと セルJ16 には

IF(I16>$H$4,I16-$H$4,0) ※労働時間が8時間以上の場合に労働時間と8時間との差を返す

という関数が入っていました。

そこに所定休日または法定休日の部分に0より大きい値が入っていたら ということで OR関数を使って OR(L16>0,M16>0) ※L16が0より大きいまたはM16が0より大きいとき

なので、

IF(OR(L16>0,M16>0),0,IF(I16>$H$4,I16-$H$4,0))

という関数となります。太字が後で追加した関数部分です。


ここで個人的なこだわり?なのですが、関数で返された値が0の時に全部表示されてると煩わしくないですか?チカチカするというか…

ということで0値を非表示にしたいと思います。

メニューバーのファイル→オプション→詳細設定を選んで下の方にスクロールしていくと

「ゼロ値のセルにゼロを表示する」にチェックが入っています。このチェックを外すと0を表示しなくなります。表示するしないはその都度やりやすいようにしてもらったらいいかと思います。

労働時間、普通残業、深夜残業、所定休日、法定休日の列にSUM関数で合計値を表示してしまったら関数は完成です。あとは見栄えがいいように書式設定で罫線引いたり色をつけたりしてくださいね(^o^)

ちなみに、青色の文字(1:00、8:00、22:00や公休、休日)が入っている行や列は非表示にしたほうが見栄えがいいのでオススメです!


Excelで出勤簿を作ってみました~~完


※面倒だな~と思ってしまった場合・・・当事務所では作成サポート、もしくは作成業務を承っておりますのでご相談ください。