Excelで残業した日数を数える方法|残業時間の計算結果から勤務日数を集計する関数を解説

Excel

Excelで勤怠管理表を作成していると、残業時間だけではなく「残業した日数」を確認したい場面があります。しかし、残業時間の合計は計算できても、残業が発生した日数をどのように数えればよいかわからないケースもあります。

この記事では、Excelで残業時間を計算した結果から、残業した日数を数える方法をわかりやすく解説します。COUNTIF関数やCOUNTIFS関数を使った実用的な集計方法も紹介します。

Excelで残業した日数を数える基本的な考え方

残業した日数を求める場合は、「残業時間が0より大きい日」を数えるという考え方になります。

例えば、A列に日付、B列に勤務時間、C列に残業時間が入力されている場合、C列の値が0より大きい行だけを数えることで残業日数を求めることができます。

すでに「=MAX(0,労働時間-8:00)」のような計算式で残業時間を出している場合は、その結果を利用すると簡単に集計できます。

COUNTIF関数で残業した日数を数える方法

残業時間の一覧がC2:C31に入力されている場合、以下のCOUNTIF関数を使うことで残業日数を求められます。

=COUNTIF(C2:C31,”>0″)

この式は、C2からC31までの範囲の中から「0より大きい値が入っているセル」を数えます。

例えば以下のようなデータの場合、残業時間が発生している日は3日なので、結果は3になります。

日付 残業時間
1日 0:00
2日 1:30
3日 0:00
4日 0:45
5日 2:00

残業時間が時刻形式の場合の注意点

Excelでは時間を「0:00」や「1:30」のような時刻形式で管理している場合、内部的には1日を1とした小数で保存されています。

そのため、通常のCOUNTIFで「>0」と指定すれば問題なく数えられますが、文字列として入力されている場合は正しく集計できません。

例えばセルに「1時間30分」と文字で入力している場合、Excelは時間ではなく文字として認識するため、COUNTIFでは数えられないことがあります。

残業時間の計算式と組み合わせて管理する方法

残業時間を計算する列では、質問のような以下の式を使用できます。

=MAX(0,労働時間-8:00)

例えばB2セルに実働時間が入力されている場合は、C2セルに以下のように設定できます。

=MAX(0,B2-TIME(8,0,0))

そしてC列の残業時間を基準に、別セルへ以下の式を入力します。

=COUNTIF(C2:C31,”>0″)

これにより、1か月の勤務データから残業した日数だけを自動的に表示できます。

休日出勤や特定条件の残業日数を数える方法

勤務区分や部署など、複数の条件を指定して残業日数を数えたい場合はCOUNTIFS関数を使用します。

例えば、B列が「平日」、C列が残業時間の場合、平日の残業日数だけを数える場合は以下の式になります。

=COUNTIFS(B2:B31,”平日”,C2:C31,”>0″)

このように条件を追加することで、「休日を除いた残業日数」や「特定社員の残業日数」など、より細かい勤怠管理にも対応できます。

残業日数を正しく集計するための確認ポイント

残業日数の計算でよくある間違いは、残業時間が表示されていてもセルの中身が文字列になっているケースです。

また、残業時間が「0:00」と表示されていても、実際には小数値が入っている場合があるため、集計結果がおかしい場合はセルの表示形式も確認しましょう。

勤怠表では、時間計算用の列と集計用の列を分けて作成すると、後から修正や確認がしやすくなります。

まとめ

Excelで残業した日数を求めるには、残業時間が0より大きい日を数える方法が基本です。

すでに残業時間を「=MAX(0,労働時間-8:00)」で計算している場合は、COUNTIF関数を使って「>0」の条件で数えるだけで簡単に残業日数を取得できます。

勤怠管理表では、残業時間の計算列と残業日数の集計列を分けて作成すると、月ごとの勤務状況を正確に把握できる便利な表になります。

コメント

タイトルとURLをコピーしました