開発事例 勤務時間からの給与計算
- yuji fukami
- 2024年8月20日
- 読了時間: 3分
今回紹介する開発事例は「勤務時間からの給与計算」のExcelツール
VBAは使用せずにExcelの標準機能のみから簡単なものを構築した例
給与計算の方法は会社ごとに異なってくるので、その都度オーダーメイドとなる場合がある。
【背景】
各従業員の出勤、退勤時間や休憩時間などの入力から、労働時間、残業時間などを自動的に計算して、給与等も計算する。
また各従業員ごとの勤務時間等を1つのシートでまとめて閲覧できるようにしたい。
【詳細仕様】
・従業員ごとに入力する勤務時間の情報は有給取得時間、出張かどうか、出勤時刻、退勤時刻、休憩時間、深夜帯休憩時間
・従業員ごとに給与計算に関わる値として基本給、時間給、時間外時給、法定外時給、深夜割増時給、休日出勤時給
・日曜日は休日、法定休日は事前に登録して判定する
・5:00~22:00の間は通常勤務で時間給で計算、で22:00~5:00(29:00)は深夜勤務で深夜割増時給で計算
・5:00~8:00の間は早出の時間帯として判定して表示する(給与計算には関係してこない)
・実働時間は(退勤時刻 - 出勤時刻 - 休憩時間 - 深夜帯休憩時間)で計算し、8時間を超える分を時間外労働時間として時間外時給で計算する
・集計シートにおいて、各従業員シートから各日付の有給、出張、休憩時間、実働時間、早出時間をまとめて見れるようにする
【技術要素】
・出勤時刻、退勤時刻から早出時間帯、通常時間帯、深夜時間帯にどれだけ労働時間があるかを計算するテクニック。
・従業員ごとのシートから1シートに集約するためにOFFSET関数、INDIRECT関数を活用するテクニック
【レイアウト】
○「設定」シート
こちらに法定外休日の日付を一覧で入力する
○従業員ごとのシート
「設定」シートで入力した法定外休日をCOUNTIF関数で判定している。
また、休日に当たる部分は網掛けの条件付き書式を設定することで、2種類以上の色で情報を確認できるようにしている
・年月は次に説明する「集計」シートにて設定したものを参照している(ここで入力は不要)
・出勤時刻、退勤時刻から早出時間帯、通常時間帯、深夜時間帯にどれだけ労働時間があるかを計算するために、各時間帯での労働時間を1時間ごとに分けて計算している。
・時刻の入力は計算がしやすさと、ルールの統一性を優先して0時以降は24時、25時と入力するようにしている。
・従業員の数だけ複製して使用できるようにしてある。
○「集計」シート
・B列の従業員氏名をシート名として参照し、従業員別シートでの名前定義(有給、出張、休憩、実働、早出)なども利用してOFFSET関数とINDIRECT関数で値を参照するようにしている。












コメント