地方在住IT系ニート

bkds

有給管理を自動化するツール|Googleスプレッドシート+FIFO完全ガイド

有給休暇管理の悩みと解決策

多くの会社員にとって、有給休暇の管理は意外と面倒な作業です。

そこで、GoogleスプレッドシートとGoogle Apps Script (GAS) を活用し、**「日付と増減数を入力するだけで、すべてを自動計算するツール」**を作成しました。

本ツールの開発には、AIコーディングエージェントのOpenCodeを使用し、設計から実装まで効率的に行いました。

実装されている主要機能

1. 完全自動計算

日付と付与/利用数を入力するだけで、現在の残日数がリアルタイムに更新されます。

2. FIFO(先入れ先出し)消費ロジック

労働基準法等の一般的な運用に基づき、**「古い付与分から優先的に消費」**される仕組みを実装しています。これにより、失効リスクを最小限に抑えた正確な管理が可能です。

3. 自動失効管理

付与日から2年後の失効日を自動的に計算します。

4. インテリジェント・ステータス判定

以下の条件に基づき、現在の状況を自動判定して表示します。

ツール構成と設定方法

スプレッドシートの構成

入力エリア(A・B列)以外はすべてGASが自動で書き込みます。

項目入力/自動内容
A日付入力付与日または利用日
B増減数入力付与は正の数(例: 10)、利用は負の数(例: -1)
C残日数自動全体の合計残日数
Dメモ入力備考(例: 夏休み、慶弔など)
F付与日自動どの付与分に紐づいているか
G付与日数自動当時の付与数
H使用済自動その付与分で使った日数
I残日数自動その付与分の残り日数
J失効予定日自動付与日から2年後の日付
Kステータス自動有効 / 期限間近 / 失効済 など

セットアップ手順

セットアップ方法はテンプレートからコピーする方法と、一からスプレッドシートを準備する方法があります。

テンプレートからコピーする方法

有給休暇 のテンプレートを準備しています。 ブラウザでアクセスするとテンプレートをご自身のアカウントにコピーすることができます。

コピーしたいアカウントでログインを実施してください。 google_login

ログイン後、「コピーを作成」をクリックすると、Google Driveに保存されます。 google_login_copy

一からスプレッドシートを準備する方法

手順1:スプレッドシートの準備

  1. Googleスプレッドシートで新規シートを作成。
  2. 1行目に以下のヘッダーを入力します。 日付 増減数 残日数 メモ (空白) 付与日 付与日数 使用済 残日数 失効予定日 ステータス

手順2:Apps Scriptの設定

  1. メニューの 拡張機能Apps Script を開く。
  2. GitHubのappsscript.jsの内容をすべてコピーして、エディタに貼り付け。
  3. 保存(Ctrl+S / ⌘+S)をクリック。

手順3:権限の承認

  1. エディタ上部の関数選択で onOpen を選び、「実行」をクリック。
  2. Googleの承認画面が出るので、「権限を確認」→「詳細」→「安全ではないページに移動」→「許可」の順に進みます。

これで、スプレッドシートのメニューバーに**「有給管理」**という専用メニューが追加されます。

具体的な使い方

有給を付与する場合

有給を利用する場合

開発後記:OpenCodeでの体験

本ツールの開発では、AIエージェントのOpenCodeを活用しました。

特に重要だったのが**「Planモード」での設計工程**です。 「FIFO(先入れ先出し)をどう実装するか」「失効日の判定条件はどうするか」という仕様を、コードを書く前にテキストベースで徹底的に詰めました。

設計が曖昧なまま実装(Buildモード)に入ると、AIが推測でコードを書いてしまい手戻りが発生しますが、**「設計を固めてから実装する」**という流れを徹底することで、ほぼ一発で動作するツールを完成させることができました。

ソースコードとライセンス

コードはGitHubで公開しています。 https://github.com/bkds-hi/paid_leave_manager

<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへ PVアクセスランキング にほんブログ村