Spreadsheet

【スプレッドシート】簡単な勤怠管理表を作る方法!

 

Google App Script(GAS)を使って、Googleスプレッドシート上に開始時間・終了時間を打刻できる簡易的なシステムを作ってみましたのでコードを紹介します。

勤怠管理や作業時間の把握に役立ちます。

>見積をスプレッドシートで作成する方法はこちら

 

 
 

完成する管理表

緑色の「業務開始」をクリックするとA列に今日の日付、B列に現在の時刻が入力されます。

オレンジの「業務終了」をクリックするとC列にまた現在の時刻が入力されます。

休憩時間は手入力にしています。

 

スクリプト

実際のスクリプトになります。

「ツール」から「スクリプトエディタ」を開き、下記のコードを記述します。

コードの記述が終わったらスプレットシートに図形を挿入します。

挿入された図形を選択し、右上の3点から「スクリプトを割り当て」で作成したスクリプを連携させます。

業務開始→setStartTime、業務終了→setEndTimeを割り当てれば完成です!

function setStartTime() { 
 var sheet = SpreadsheetApp.getActiveSheet(); 
 var lastRow = sheet.getLastRow(); 
 var formatDate = Utilities.formatDate(new Date(), "JST","yy/MM/dd"); 
 sheet.getRange(lastRow + 1,1).setValue(formatDate); 

 function padding(num) {  
  return ('00' + num).slice(-2)  } 

 function formattedCurrentTime() {   
 var now = new Date() 
 return now.getHours() + ':' + padding(now.getMinutes())  }  

 var day = new Date().getDate();  
 sheet.getRange(lastRow + 1,2).setValue(formattedCurrentTime()); 
} 

function setEndTime() { 
 var sheet = SpreadsheetApp.getActiveSheet(); 
 var lastRow = sheet.getLastRow();  
 
 function padding(num) {
 return ('00' + num).slice(-2)  }  

 function formattedCurrentTime() { 
 var now = new Date() 
 return now.getHours() + ':' + padding(now.getMinutes()) }
 var day = new Date().getDate(); sheet.getRange(lastRow,3).setValue(formattedCurrentTime()); 
}
 

勤怠管理システムの作り方は以上です。

Google Apps Scriptを使えば、GmailやGoogleカレンダー、slackやチャットワークなど様々なサービスを連携させることが可能です。

それゆえ業務にかかる時間を短縮することができますので、ぜひ活用してみてはいかがでしょうか。

 

Google Apps Scriptについて

Google Apps Scriptを学習したい方にはこちらの本がおすすめです!

『Google Apps Script 完全入門』は、初心者にも分かりやすい入門書です。

プログラミングしたことない人でも分かるように解説されているので、未経験の方に特におすすめです!

Google Apps ScriptのベースとなっているJava Scriptにも共通する基本的な考え方が学べます。

数年前に出版され、昨年12月に改訂版の第2版が出たばかりです。(Googleの新しい開発環境V8に対応しています)

>Google Apps Scriptの本に関してはこちら