Googleスプレッドシートでクラウド上の勤怠管理集計システムを作る

★気に入ったらシェアをお願いします!


Attendance

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

みなさんの会社では勤怠管理はどのように行わていますか?

今は、クラウド型の安価な勤怠管理サービスなども出てきていますが、実際はタイムカードとエクセルによる管理表を組み合わせて管理されているケースも多いのではないでしょうか?

もしかすると、本人か人事担当者がタイムカードをベタ打ち…ということもあるかも知れません。

また、人事担当者としては月が締まると

  1. 各スタッフが記入した勤務管理表のエクセルファイルとタイムカードを収集
  2. タイムカードとエクセルファイルの内容に齟齬がないか確認
  3. エクセルファイルの集計結果をもとに給与計算
  4. 振込作業

などといった作業をされていると思います。

マネージャーが取りまとめ作業を一部担当されているかも知れませんが、全スタッフの情報をもれなく集めるのはなかなか大変です。

そういった毎月発生する雑務の時間は減らすに越したことはありませんよね。

そこで、今回はGoogleスプレッドシートを使った簡易的な勤怠管理集計システムの作り方をシリーズ連載でお伝えできればと思います。

スプレッドシートはクラウド上で動作しますので、複数人での共同閲覧や編集が得意かつ関数やスクリプトで様々な動作の自動化が可能です。

今回はまず初回として、これから作成するGoogleスプレッドシートを使った勤怠管理集計システムの方針と概要についてお伝えできればと思います。

エクセルとスプレッドシート

エクセルは様々な関数や機能が盛りだくさんに搭載されているので非常に便利なのですが、

  • 物理的にファイルをやり取りしないと内容の確認や修正ができない
  • 何回も修正を繰り返すとどれが最新かわかりづらくなる

などといったデメリットがあります。

スタッフが数人だったら良いのでしょうけど、これが10人、100人、…と大人数になってくると、エクセルファイルを集めるだけで大変です。

そこで、その悩みを解決する方法として、Googleスプレッドシートを使った簡易的な勤怠管理集計システムの作り方をシリーズ連載でお伝えできればと思います。

Googleスプレッドシートはクラウド上の表計算ソフトで

  • URLを共有することで同一のシートを共同閲覧・編集できる
  • 管理すべきファイルは一つで常に最新
  • 無料から利用できる
  • 関数などがエクセルと共通のものが多く覚えやすい
  • Google Apps Scriptでプログラミングによる追加機能も可能

などといった特徴があり、勤怠に関する情報の収集や、やり取りに適しています。

勤怠管理集計システムの構成

スプレッドシートによる勤怠管理集計システムの構成ですが、まずは以下4つのシートを作成していきます。

ちなみに方針としては

  • この1ファイルだけでスタッフ全員分を管理する
  • データ収集や出力はできる限り自動化する

という方針で進めていきたいと思います。

勤怠管理

勤怠状況を月次で集計出力するための「勤怠管理」シートです。

スプレッドシートの勤怠管理シート

各スタッフの月ごとの

  • 出社時間、退社時間
  • 勤務時間(通常、残業、深夜)
  • 出勤、欠勤、有休、代休日数

などを一枚にまとめたものです。

エクセルで勤怠管理をされている場合は、毎月このシートをエクセルで作成していることと思います。

最終的にはこのシートを印刷したり、PDFやXLS形式で出力したりすることを想定しています。

設定項目

「設定項目」シートは勤務時間の集計を行う際の各パラメータを指定しておくシートになります。

スプレッドシートの勤怠に関する設定シート

もし就業規則などで変更があった場合は、このシートを変更することで全スタッフ分の計算式を変更することができます。

物理的に別ファイルになっているエクセルだとそうはいきませんよね。

社員マスタ

社員マスタは社員ごとのID、部署、名前を管理するシートです。

スプレッドシートの勤怠管理の社員マスタシート

部署異動があった場合などはここを変更します。

アカウントIDは、ちょっと後でのお楽しみです。

データ

この「データ」シートに社員全員分のデータを集めてきます。

スプレッドシートの勤怠管理データシート

一行に1レコードとして、勤怠に関するデータを蓄積していき、この情報を引っ張る形で「勤怠管理シート」が出来上がります。

一般的にエクセル管理をされている場合は、1番目に紹介した「勤怠管理シート」がデータベース兼アウトプットとして活用をされていることが多いと思います。

しかし、システムを作る場合はデータベースとアウトプットを別にしたほうが運用しやすいことが多くあります。

というのも、コンピュータにはコンピュータが得意なデータの持ち方があるので、データの保管の仕方はコンピュータに合わせてあげるのが良いのです。

一方でアウトプットは人間が見やすいように作ります。

この「データ」シートにできるだけ効率よくデータを集められるようなシステムが望ましいですよね。

勤怠管理システムの動作イメージ

このシステムの動作イメージですが

  1. スタッフはチャットで出勤、退勤の打刻を行う
  2. その打刻情報が「データ」シートに蓄積される
  3. 「勤怠管理」シートで、社員IDと年月を変更することで、「データ」を自動集計する

というところまでを想定しています。

まとめ

今回はGoogleスプレッドシートによる勤怠管理システムの概要についてお伝えしました。

以降、スプレッドシートやGoogle Apps Scriptの機能を駆使してシステムを少しずつ作っていきたいと思います。

次回は、「勤怠管理」シートの日付や曜日を、スプレッドシートの定番関数を使って手軽に出力する方法についてお伝えします。

【スプレッドシート初心者向け】定番関数と表示形式で手入力しないで日付と曜日を出力
スプレッドシートで、日付と曜日を手入力せずに関数と表示形式を使って簡単にそしてクールに出力する方法です。定番関数の数々、日付や曜日などの取り扱いなど初心者には絶好のテクニックを散りばめました。

どうぞお楽しみに!

連載目次:Googleスプレッドシートで勤怠管理集計システムを作る

勤怠管理業務はたくさんのスタッフとのやり取りもありますし、集計もなかなか複雑です。本シリーズでは複数人や離れた場所での共同作業も得意なスプレッドシートを用いてクラウド上で勤怠管理システムを作る方法をお伝えしていきます。
  1. Googleスプレッドシートでクラウド上の勤怠管理集計システムを作る
  2. 【スプレッドシート初心者向け】定番関数と表示形式で手入力しないで日付と曜日を出力
  3. GoogleスプレッドシートのVLOOKUP関数で複数条件による検索を行う方法
  4. 【スプレッドシートで給与計算】打刻時間を指定の分単位で切り上げ、切り捨てをする方法
  5. GoogleスプレッドシートでIF文を超絶駆使して通常・残業・深夜の就業時間を求める
  6. Googleスプレッドシートで時間内・時間外(残業)・休日・深夜の労働時間を計算する
  7. Googleスプレッドシートによる勤怠管理シートをCOUNTIFS関数と書式設定で仕上げる