勤怠CSVの月集計で打刻の抜けを見つける

記事
IT・テクノロジー
勤怠CSVを出せたので、あとは時間を足すだけ。そう思って集計すると、出勤だけの行や、同じ日付の重複が混ざっていることがあります。私は会社のバックオフィスで勤怠を担当していますが、合計を出す作業より、合計に入れてよい行を確かめる作業が大事だと感じています。

月末の集計は、元のCSV、計算用の表、確認が必要な行の一覧を分けると進めやすくなります。元データを残しておけば、修正後に何が変わったかも比べられます。

■ 足し算の前に列と欠けた打刻を見る

最初に、対象者の識別番号、勤務日、出勤、退勤、休憩がどの列にあるかを確認します。出勤と退勤に日付まで含まれる形式なのか、時刻だけなのかも見ます。列名が似ていても、予定時刻と実際の打刻は分けて扱う必要があります。

確認の手順は、次の順番にすると抜けを残しにくくなります。

1. 元のCSVを保存し、作業用のコピーを用意する。
2. 出勤か退勤の片方だけが空欄の行を抽出する。
3. 識別番号と勤務日の組み合わせが重なる行を調べる。
4. 日付や時刻として読めない値を、行番号付きで控える。

片方の打刻がない行を、予定の時刻で埋めて集計してしまうと、後から確認する必要があることが見えなくなります。まずは確認表へ分け、分からない時間を勝手に確定しない形にします。

同じ識別番号と勤務日の行が二つある場合も、すぐに片方を削除せず、元の記録を確かめます。重複した書き出しなのか、勤務が分かれている形式なのかで扱いが変わるためです。

■ 日またぎと休憩は架空の一日で検算する

実働時間は、開始から終了までの時間から休憩を引いて確かめます。架空例として、9時から18時までで休憩が1時間なら、9時間から1時間を引いて8時間です。数値だけの「8」と、時刻形式の「8:00」は同じ表示ではないので、集計欄の単位もそろえます。

22時に出勤して翌朝7時に退勤した場合は、勤務の長さが9時間です。終了の時刻が小さいからといって、一律に翌日と判断すると、時刻の入力ミスまで夜勤に変えてしまうことがあります。日付の記録や、その形式の決め方と合わせて確認してください。

深夜帯の時間を分けるなら、休憩の位置も必要です。例えば22時から翌朝7時までの勤務で、翌朝2時から3時に休憩した架空例では、実働は8時間、22時から翌朝5時までの実働は6時間です。休憩の合計分数しかない場合は、その休憩がどの時間帯にあったかを確定できません。

月末から翌月にまたがる勤務も、どちらの月へ数えるかを先に決めます。月ごとに違う方法を使うと、二重に数えたり、どちらからも抜けたりする原因になります。

■ 月合計と確認表をセットで見る

対象月の全行数を、集計に使った行と、確認が必要で分けた行に照らし合わせます。確認表には元の行番号、架空の識別番号、日付、理由を載せると、元データへ戻りやすくなります。合計だけ渡すと、未確認の打刻が残っていることが伝わりません。

時間の合計と出勤日数も別々に確認します。打刻が欠けていて時間を出せない日を、出勤日数でどう扱うかは、集計のルールとして決めておきます。給与額や割増額の判断は、時間の足し算と分けて確認する部分です。

修正する時は元の一覧を直し、同じ対象月で計算し直します。出力された月合計だけを手で直すと、次の実行で消えたり、明細との関係が分からなくなったりします。私も毎月の作業では、合計と確認待ちの一覧を一緒に残すようにしています。

■ 自動にしたい方へ

勤怠CSV・Excelから月の勤務時間を集計し、打刻が欠けた行を確認表へ分ける仕組みをお作りします。列名と休憩の記録方法が分かる架空の見本で、ご相談いただけます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す