給与業務ソフトはひと月の勤務時間を入力するところから始まります。
そのためには、日々の勤務表からひと月分の勤務時間の集計を行わないといけません。
勤務時間の計算は時刻(60進数)から時間(10進数)を計算するので読み替えが発生し面倒です。
EXCELの関数を使うと、入力した時刻から勤務時間を簡単に計算できます。
勤務表の作成例
勤務表のフレームを作成する
勤務表に必要な項目は、「日付」、「出勤時刻」、「休憩時間」、「退勤時刻」そして「勤務時間」ですが、22:00~5:00は深夜勤務になりますので、「深夜」も作成しましょう。
「休憩時間」は後で計算しやすいように深夜分は分けて記入できるようにしておきます。
勤務時間を計算する
退勤時刻から出勤時刻を引いた値から控除(休憩・その他の合計)を差引いて、勤務時間を計算します。
時刻データから時間数を計算する為に使用する関数は、「HOUR」と「MINUTE」です。
勤務時間を求める計算式
=SUM(HOUR(E4-D4)+INT(MINUTE(E4-D4)/15)*0.25-F4-G4)
少し長いので順番に説明しましょう。
HOUR関数を使って時分の「時」から時間数を計算する
コツは時刻をいきなり計算せず、時刻を時と分に分割してそれぞれを時間数で計算します。
まず、HOUR関数を使って時分の「時」を計算します。
=SUM(HOUR(E4-D4)+INT(MINUTE(E4-D4)/15)*0.25-F4-G4)
HOUR関数は、時を0-23の範囲で返す関数です。
例の値は
・E4:2/1の退勤時刻の時 =8:55
・D4:2/1の出勤時刻の時 =17:33
ですから、 17:33-8:55=8:48 の「時」である”8”が返されます。
MINUTE関数を使って時分の「分」を計算・時間数に変換する
次に、MINUTE関数を使用して、時分の分を求めます。
=SUM(HOUR(E4-D4)+INT(MINUTE(E4-D4)/15)*0.25-F4-G4)
MINUTE関数は、分を0-59の範囲の整数で返す関数です。
上記の例の結果の 8:48の「分」である”48″が返されますが、ここで欲しい値は「時間数」ですので、48分を時間数に変換する必要があります。
48分を時間数にすると、0.8時間ですが、通常勤務表では丸めがあります。
例では15分単位で丸めを行います。
48分は15分で丸めると、0.75時間になります。
計算式は、48分÷15分の整数部分×0.25 ですので、INT関数を使用し48÷15の整数を求めます。
INT関数は値の小数点以下を切り捨てて整数にする関数です。
=SUM(HOUR(E4-D4)+INT(MINUTE(E4-D4)/15)*0.25-F4-G4)
控除を差引いて、勤務時間数を求める。
ここまでの数式で、退勤時間から出勤時間を差引いて勤務時間数が計算できましたので、最後に控除時間を差引いて、数式を完成します。
=SUM(HOUR(E4-D4)+INT(MINUTE(E4-D4)/15)*0.25-F4-G4)
残業時間を求める。
労働基準法で、1日8時間、週40時間を超える部分は、残業時間として割増賃金の対象になります。
先ほど求めた勤務時間から8時間を超える時間を求めれば良いわけですので、数式は以下の様になります。
=IF(H4<8,””,H4-8)
勤務時間から8時間を引くだけなら、数式は「=H4-8」でいいのですが、勤務時間が8時間未満の場合に、残業時間がマイナスで表示されるこtを防ぐために、IF関数を使用します。
IF関数は、論理式の結果で指定した値を返す関数です。
=IF(H4<8,””,H4-8)
の場合、H4の値が8より小さい場合、””(何も入力されていない)、そうでない場合H4-8の値を返す、という数式になります。