人気ブログランキング |

エクセルで給与計算

パートタイマーの時間計算を簡単にしたい! というお客さんからのご要望にお応えして。

エクセルでは時間計算が比較的簡単に出来ます。例えば10時から16時30分までの勤務時間を計算したければ、A1に「10:0」B1に「16:30」と入力して、C1には「=B1-A1」と入力すれば、C1の表示は「6:30」となります。

ところが、一ヶ月分の勤務時間を合計したくてC列の合計をとると、例えば実際は130時間30分なのに表示されるのは「10:30」です。

これは、通常の時間表示では24時間(あるいは48、72時間など)を超える部分しか表示しないためで、セルの書式設定を [h]:mm としてやれば解決できます。この書式設定はユーザー定義で行います。

さて次にこの勤務時間合計に時間単価をかけようとすると、なにやらまったくへんてこりんな数字になります。これはエクセルの日時の扱いが分からないと理解不能です。

エクセルの時間表示は1日を1として、時間は小数で表します。つまり3時間だと、0.125、36時間だと1.5となります。130時間30分は、5日と10時間30分ですから、エクセルの数値としては 5.4375 になります。値としては 5.4375 なのですから、時間単価をかけたいのであればこの小数を24倍してやらないといけません。5.4375×24 = 130.5 ですから、これで始めて時間単価をかけて正しく計算できます。

時間の扱いは「比較的」簡単ですが、使い出すと結構つまずいてしまいますね。

ちなみに 130:30 とセルに入力して、セルの書式を日時にすると、1900年1月5日10時30分になります。エクセルの日にちは1900年1月1日を1として毎日連番をとっていきますので、こういう表示になります。値としてはあくまで 5.4375 です。2005年6月30日と入力してセルの書式を標準にすると38533になりますから、2005年6月30日は1900年1月1日から数えて38533日目に当たることが分かります。

まあそんなことが分かってもまるで仕様がないことですが・・・。