毎月の勤怠チェックに3日かけていた事務が、Pythonで半日になった話|打刻エラー・残業集計の自動化

毎月の勤怠チェックに3日かけていた事務が、Pythonで半日になった話|打刻エラー・残業集計の自動化

記事
IT・テクノロジー
「今月もこの時間が来たか…」

医療法人の事務局で働いていると、毎月必ずやってくるのが勤怠の締め作業です。私のところは常勤・非常勤あわせてかなりの人数がいて、しかも訪問診療・訪問看護・施設介護・事務と部門もバラバラ。打刻データを一人ずつ目視で確認していた頃は、月初の2〜3日がまるごとこの作業で消えていました。

今日は、その「終わらない勤怠チェック」をPythonで半日にまで圧縮した話を、実体験ベースで書いてみます。「うちも同じだ…」という事務の方に届けば嬉しいです。

■ 何にそんなに時間がかかっていたのか

勤怠チェックと一口に言っても、実際の中身はこんな感じでした。

・打刻漏れ・打刻エラーの洗い出し(出勤打刻はあるのに退勤がない、深夜をまたぐ勤務で日付がずれている、など)
・残業時間の集計(法定内・法定外を分けて、人ごと・部門ごとに合算)
・部門別の集計(部門をまたぐ職員もいて按分が必要)
・前月との差分チェック(急に残業が跳ね上がっている人はいないか)

これを勤怠システムから出力したCSVやExcelとにらめっこしながら、電卓と目視でやっていたわけです。人数が増えるほど時間は雪だるま式。しかも、疲れてくると見落とす。月初の数字がずれると、その後の集計まで芋づる式に手戻りが発生します。

■ Pythonに置き換えてみた

思い切って、勤怠システムから出力できるCSVを起点に、チェックの流れをPythonで組み直しました。やったことはシンプルです。

1. CSVを読み込んで、まず「打刻のおかしい行」を機械的に抽出する
2. 一人ずつ、日ごとの勤務時間を計算して、残業を法定内・法定外に切り分ける
3. 職員マスタの「所属部門」と突き合わせて、部門別に合算する
4. 前月の集計結果と比較して、変動の大きい人だけを色付きで一覧にする
5. 最後に、確認すべき行だけをまとめたExcelを書き出す

ポイントは「全部を自動化しようとしない」ことでした。最終判断は人がやる前提で、機械には「人間が見るべき行はどこか」を絞り込ませる。これだけで、目を通す量が数十分の一になりました。

結果、3日かかっていたチェックが半日に。しかも見落としが減って、後工程の手戻りがほぼなくなったのが一番大きかったです。

■ やってみて分かった「効く」ポイント

実際に医療法人の現場で回してみて、効果が大きかったのは次の3つでした。

・「異常検知」だけ自動化する … 正常なデータは見ない。エラーっぽい行だけ機械に拾わせる
・前月比をセットにする … 単月より「先月と比べて変な人」を出した方が、圧倒的に異常に気づきやすい
・出力をExcelに戻す … 現場が普段使うExcelの形で返すと、確認も引き継ぎもスムーズ。新しいツールの使い方を覚えてもらう必要がない

逆に、最初から完璧なシステムを作ろうとすると挫折します。まずは一番つらい1工程だけを自動化する。これが続けるコツだと思います。

■ 「うちのデータでもできる?」と思った方へ

勤怠に限らず、「毎月決まった集計を、Excelや紙とにらめっこしながら手作業でやっている」業務は、たいてい自動化の余地があります。ExcelやCSVで出力さえできれば、チェック・集計・突き合わせの大部分は機械に任せられます。

私自身、医療法人の事務局で現場の悩みを抱えながら、ひとつずつPythonで仕組み化してきました。その経験から、ココナラではExcel集計・データ加工の自動化や、業務効率化のお手伝いをしています。

「うちのデータでも自動化できますか?」という相談ベースでも大歓迎です。今お使いのExcelやCSVの形を教えていただければ、どこまで自動化できそうか一緒に考えます。月初のあの数日を、別の仕事に使えるようにしていきましょう。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す