出勤簿・勤怠管理表・勤務時間計算表・タイムカードなど呼び方は様々ですが、出勤時間と退勤時間を入力することで所定労働時間と時間外労働時間(残業時間)を計算して、1ヶ月間の合計時間を計算し、さらに給与計算まで自動計算できるような計算式ができると、計算ミスも減りますし、給与計算に掛かる時間も大幅に削減することができます。自動計算するためには関数を使いますが、知らなくてもそのまま使って頂ければ上手く計算されます。
そこで今回は、エクセルで就業時間・時間外・給与計算を自動で行なう出勤簿を作成する手順を紹介します。
目次
エクセルで給与計算を自動化して計算したい
手書きの出勤簿やタイムカードの出退勤時間を基にして給与計算をするときに、時間内と時間外を計算してから給与を計算するのを手作業でしていたり、エクセルに入力して知っている関数や簡単な計算式を使って計算したりしている人も多いと思いますが、出退勤時間を入力したら他の計算をすべて自動で計算してくれたら作業時間の大幅な短縮になりますよね。
作成手順を画像を使って紹介します。
表を作成する
使いやすいように出勤簿を作成します。もちろん、今使っている勤怠管理表を使ってもいいです。私が使っている出勤簿をベースに給与計算も出来るように表を編集・変更しました。
時間の表示形式を設定する
表を作成したら、時間表示するセルの表示形式を変更します。
時間を表示するセルC6~H36までをドラッグして選択し、「ctrl」ボタンを押したままセルF37~H37までをドラッグして範囲指定します。
「ホーム」タブを選び、数値グループの「表示形式」をクリックします。
セルの書式設定画面が表示されますので「表示形式」タブを選び、「ユーザー定義」をクリックしたら「種類」欄に「[h]:mm」と入力して「OK」をクリックします。
表示形式を「[h]:mm」にしたのは、深夜残業が発生して日付が変わったときの表示が分かりやすいようにするためです。例えば25:00まで勤務したとすると、通常の「h:mm」だと「1:00」と表示され、昼間と勘違いすることが考えられます。そのため、「[h]:mm」とすることで「25:00」と表示することで間違いを無くしたいと思います。
就業時間を計算する
就業時間を求めます。表では労働時間と表示していますが同じ意味です。
F7セルに「=IF(COUNT(C7,D7)=2,D7-C7-IF(E7=””,0,E7),””)」と入力します。
ここでは、IF関数とCOUNT関数を使っています。IF関数は「もし~だったら~をする」という関数で、COUNT関数は「指定した範囲内の数値が含まれるセルの個数を返す」という関数です。
「COUNT(C7,D7)=2」で、始業時間と就業時間が入力されているかを確認します。両方が入力されていなければ計算しません。両方が入力されていたら休憩時間が未記入なら「0」で計算し、入力されていれば休憩時間を計算するといった式になっています。
所定内勤務時間を計算する
G7セルに所定内勤務時間(時間内)を計算するために、「=IF(F7=””,””,MIN($L$39,D7)-MAX($L$38,C7)-IF(E7=””,0,E7))」を入力します。
MIN関数は、指定した範囲内の最小値を返す関数で、標準勤務時間の終了時間と実際の終業(退社)時間を比べて小さい数字を返すことで所定内勤務時間を計算します。
MAX関数は、指定した範囲内の最大値を返す関数で、標準勤務時間の開始時間と実際の始業(出社)時間を比べて大きな数字を返すことで所定内勤務時間を計算します。
所定外勤務時間(時間外)を計算する
H7セルに所定外勤務時間(時間外)を計算するために、「==IF(F7=””,””,F7-G7)」を入力します。
計算式を貼り付ける
計算式を入力したF7~H7のセル範囲を指定して、ホームタブのコピーをクリックまたは「ctrl+c」ボタンを押してコピーします。
貼り付ける範囲をドラッグしたまま範囲してしたら、ホームタブの貼り付けをクリックして「数式」をクリックします。
就業時間の合計を計算する
労働時間の合計を求めるため、F37セルに「=SUM(F6:F36)」と入力します。
F37セルを「ctrl+c」でコピーして、セルG37~H37をドラッグして範囲指定して「ctrl+v」で貼り付けます。
所定内時間の給与計算をする
G38セルに「=ROUND(G37*24*N38,0)」と入力します。
エクセル(Excel)では、時間をシリアル値で扱うのでシリアル値は1日が1、1時間が1/24になるので、時給の場合は給与計算は「就業時間の合計×24×時給」で求めます。
ROUND関数は、数値を四捨五入して指定した桁数にする関数です。「=ROUND(数値,桁数)」の書式で入力し、数値は四捨五入の対象となる数値やセルを指定します。ここでは「G37*24*N38」の数式で求めた数値を四捨五入します。
桁数には、四捨五入した結果の小数点以下の桁数を指定します。
-2:小数点以下第3位を四捨五入
-1:小数点以下第2位を四捨五入
0:小数点以下第1位を四捨五入
1:1の位を四捨五入
2:2の位を四捨五入
所定外時間の給与計算をする
HG38セルに「=ROUND(H37*24*N39,0)」と入力します。
ROUND関数は四捨五入ですが、ROUNDUP関数は切り上げ、ROUNDDOWN関数は切り下げるときに使います。
ROUNDUP関数の切り上げした結果の小数点以下の桁数を指定します。
-2:小数点以下第3位を切り上げ
-1:小数点以下第2位を切り上げ
0:小数点以下第1位を切り上げ
1:1の位を切り上げ
2:2の位を切り上げ
支給額を計算する
H39セルに「=G38+H38+F39」と入力します。
勤務日数を計算する
勤務日数を計算するため、J38セルに「=COUNT(C6:C36)」を入力します。
編集後記
これで、出勤時間や退勤時間を入力するだけで、労働時間(就業時間)、所定内勤務時間、所定外勤務時間を計算して、時間外と時間内の給与計算と手当を合わせた給与額を自動計算することができるようになりました。
ここで紹介したフォーマットやテンプレートでなくても使用することができます。少し関数の式の参照先を変えてあげることで対応することができます。
少しでも参考になれば嬉しいです。