スプレッドシートで
勤怠管理を作る5ステップ
Excelや紙で行っている勤怠管理を、Googleスプレッドシートにまとめる手順を、中小企業向けに5ステップで整理します。
Table of Contents
勤怠管理は「打刻の記録」から作る
出勤・退勤の時刻を月末にまとめて手入力する方法は、記入漏れや転記ミスが起きやすく、集計にも時間がかかります。打刻のたびに1行ずつ記録し、勤務時間は計算で求める形にすると、後から確認しやすくなります。
ラスタージ(Lustage)は低コストの業務システム開発を行っており、スプレッドシートとGASによる勤怠管理の構築もご相談いただけます。ここでは、自分たちで作る場合の5ステップを紹介します。
ステップ1:従業員マスタと就業ルールを決める
従業員ごとに1行の一覧表(マスタ)を作り、社員コード、氏名、所定労働時間、休憩時間を持たせます。パートと正社員で所定時間が違う場合も、ここで列を分けて管理します。
就業規則に関わる数字は、このシートに集約しておくと、変更が出たときに1か所の修正で済みます。
- 社員コード、氏名、雇用区分
- 所定労働時間(1日)
- 休憩時間
- メール・チャットの連絡先(通知用)
ステップ2:打刻の記録表を作る
別シートに、1回の打刻を1行で記録します。列は日時、社員コード、区分(出勤・退勤)、メモです。区分と社員コードはプルダウン(データの入力規則)にして、表記ゆれを防ぎます。
入力はGoogleフォームにすると、スマホからでも打刻でき、送信時刻が自動で記録されます。
ステップ3:日別の勤務時間を自動で計算する
日別の集計シートを作り、社員コードと日付ごとに最初の出勤と最後の退勤を取り出します。退勤から出勤を引き、休憩時間を除けば勤務時間になります。
所定労働時間を超えた分を残業として別の列に出すと、月次の集計が楽になります。法定の割増や深夜の扱いは、専門家に確認のうえで式を調整してください。
// 日別集計シート: A=社員コード, B=日付, C=出勤, D=退勤
// 出勤(その日の最初の打刻)
=MINIFS(打刻!A:A, 打刻!B:B, A2, 打刻!E:E, B2, 打刻!C:C, "出勤")
// 勤務時間(時間単位、休憩1時間の例)
=IF(AND(C2<>"", D2<>""), (D2-C2)*24 - 1, "")ステップ4:月次の集計と修正の記録を残す
月次シートで、従業員ごとの出勤日数、総勤務時間、残業時間を集計します。ピボットテーブルを使うと、式を書かずに作れます。
打刻の修正が必要なときは、元の記録を書き換えず、修正の行と理由を追加します。誰がいつ直したかが残り、あとで確認できます。編集権限は管理者に絞ります。
ステップ5:未打刻の通知をGASで自動化する
毎日夕方にGASを実行し、出勤の記録はあるのに退勤がない人をメールで知らせます。トリガー(時間主導型)を設定すれば、人が確認しなくても動きます。
GASはGoogleアカウントで動くため、サーバー代などの月額運用費がかかりません。一方で、1回の実行時間やメール送信数に上限があるため、人数や頻度が多い場合は事前に確認します。
function notifyMissingClockOut() {
const sheet = SpreadsheetApp.getActive().getSheetByName('日別集計');
const today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd');
const rows = sheet.getDataRange().getDisplayValues().slice(1);
const missing = rows.filter(r => r[1] === today && r[2] && !r[3]); // C=出勤, D=退勤
if (missing.length === 0) return;
const body = missing.map(r => `${r[0]}:退勤の打刻がありません`).join('\n');
MailApp.sendEmail('info@example.com', '【勤怠】退勤の未打刻', body);
}まとめ
従業員マスタ、打刻の記録表、日別の自動計算、月次集計と修正履歴、未打刻の通知の順に進めれば、無理なく勤怠管理を始められます。給与計算との連携や承認フローなど要件が大きい場合や、既存のExcelを活かして移行したい場合は、ラスタージにご相談ください。
よくある質問
従業員が数名〜数十名程度で、打刻と月次集計が中心なら運用できます。ICカードや位置情報の打刻、給与計算ソフトとの自動連携が必須の場合は、専用の勤怠管理システムも比較してください。
Googleフォームやスプレッドシートの入力欄から「出勤」「退勤」を送信し、日時と氏名を1行ずつ記録する方法が手軽です。GASのWebアプリにすれば、スマホから1タップで打刻する画面も作れます。
退勤時刻から出勤時刻を引いて休憩時間を除き、所定労働時間を超えた分を残業とします。休憩のルールは就業規則に合わせて式を調整し、最終的な判断は社労士など専門家に確認してください。
GAS(Google Apps Script)を毎日夕方に実行し、出勤の記録だけで退勤がない人にメールやチャットで通知できます。サーバー代などの月額運用費は0円で組めます。
はい。ラスタージ(Lustage)では、現在の運用を確認したうえで、スプレッドシートとGASによる低コストの勤怠管理を設計・開発します。向かない規模の場合は別の構成を正直にご提案します。
関連するサービス・記事
Services
ラスタージ(Lustage)は、低コストの業務システム開発・DX化支援・AIチャットボット導入・GAS開発・Webサイト制作を、月額運用費0円の仕組みで承っています。
関連する記事
- スプレッドシートで在庫管理を作る5ステップ
- スプレッドシートで顧客管理を作る6ステップ
- スプレッドシートで請求書管理を作る5ステップ
- スプレッドシートで案件管理を作る5ステップ
- 業務システムの検収で確認する5項目|受け入れテスト
- 業務システム発注の依頼書の書き方|A4二枚で作る6項目
Official Docs
この記事で扱ったサービスの公式ドキュメントです。仕様や上限値は変わることがあるため、実装前に最新の内容をご確認ください。