時給計算の注意点
勤怠時間を管理して時給計算を行いたい場合、時間データの扱いに注意が必要です。まず、時刻データから勤務時間を計算したり、勤務時間の合計を算出したりする過程は、すべてシリアル値同士の計算ですので問題ありません。勤怠管理表で時間データの合計を算出
※セルD9の表示形式「[h]:mm」については、ガイド記事「時間データの計算結果表示で注意してほしいポイント」をご覧ください。
ところが、勤務時間の合計に時給データをかけると期待通りの結果が得られません。なぜなら、勤務時間の合計は1日を数値の「1」とするシリアル値であり、時給計算では、1時間を「1」として計算する必要があるからです。下図の「合計時間」に「53:10」と表示されていますが、実際のデータはシリアル値「2.215277778」なので、「給料」の計算結果が「2105」となっています(ROUND関数で整数に四捨五入しています)。正しい計算結果を得るためには、シリアル値で算出した勤務時間の合計は、時給計算用の数値データに換算する必要があります。
勤務時間の合計は時給計算用に換算する必要がある
勤務時間の合計を時給計算用に換算する
勤務時間の合計を時給計算用に換算するには、合計のデータから「日」「時」「分」を表すデータを別々に取り出して、それぞれを「時間」の単位に換算して合計します。「日」を取り出すには「DAY関数」、「時」を取り出すには「HOUR関数」、「分」と取り出すには「MINUTE関数」を使用します。DAY関数の結果は「24」を掛けて時間の単位に換算。MINUTE関数の結果は、「60」で割って時間の単位に換算します。HOUR関数の結果は時間を表すのでそのままです。これらの換算結果を合計した結果が、時給計算に使用できる「時間単位の合計」となります。
DAY関数、HOUR関数、MINUTE関数を使用して換算する
このテクニックを使用して実際に作成した数式は下図のようになります。
DAY関数、HOUR関数、MINUTE関数を使用して換算する