![見出し画像](https://assets.st-note.com/production/uploads/images/96823110/rectangle_large_type_2_07b8bfb0662ae0380d7f997a0bfa6b35.png?width=1200)
Googleサイトで作るグループウェア(15)ータイムカード機能の追加②ー
この記事を読んで欲しい方
Googleワークスペースを企業DXに導入したが、上手く広げられていない方
Googleワークスペースを導入しようと考えてる中小企業の方
無料のGmailやクラウドアプリだけ使っているテレワーカー
GIGAスクールなどでGoogle for Eduを導入している学校
①勤怠管理データの集計
前回に引き続き、まず、全体の流れを確認してください。
今回は、②勤怠管理データの中に3つのシートを追加します。1つ目は「職員マスタ」、2つ目は「実績集計表」、3つ目は「在席情報」です。
![](https://assets.st-note.com/img/1675069476267-q5psBwkPoS.png?width=1200)
②職員マスタシートの作成
まずはじめに、職員マスタシートを作ります。これは、メールアドレスから氏名を引っ張るために作ります。新しい人が入っても、タイムカードフォームを変更せずに、職員マスタシートにメールアドレスと氏名を登録するだけでタイムカードを使えるようになります。
とりあえず、メールアドレスと氏名を入れておいてください。
![](https://assets.st-note.com/img/1675065961289-oYL18SHTbu.png?width=1200)
③メールアドレスから氏名を引く関数
次に、フォームの回答1のG2のセルにメールアドレスから氏名を引く関数を入力します。G1には氏名と入れてください。
=arrayformula(IFERROR(vlookup($B$2:$B,'職員マスタ'!A$2:$C,2,false),""))
![](https://assets.st-note.com/img/1675066223102-UA1U72QJKF.png?width=1200)
関数は、arrayformulaを使っているので、データが入ってくると自動的に下に氏名が追加されます。
④実績集計表シートの作成
次に、実績集計表をつくります。フォームの回答1を選び、AからG列を選択して、挿入>ピボットテーブルを選んでください。
ピボットテーブルのダイアログが開いたら、新しいシートにチェックを入れ、作成ボタンを押します。
![](https://assets.st-note.com/img/1675066573833-ImTQ4g8GoI.png?width=1200)
これで、集計画面になりました。右側のピボットテーブルエディタで、行と列、値、フィルタを設定していきます。
なお、シート名は実績集計表に変更してください。
まず、'フォームの回答 1'!A:Gとなっていることを確認してください。A:Gとなっていることで、AからG列に入ってくるデータは全て自動集計することが出来ます。
次に、行にメールアドレスと氏名、打刻日付を追加します。チェック項目は「行ラベルを繰り返す」のみチェックして統計を表示はすべて外してください。これで、同じメールアドレスと氏名が複数並ぶシートになります。
![](https://assets.st-note.com/img/1675067986151-yu3Ib8HQO2.png?width=1200)
次に、列は勤怠種別を追加します。総計を表示のチェックは外してください。更に、値に打刻時刻を追加します。
また、フィルタにメールアドレスと打刻日付を追加し、それぞれ「条件でフィルタ」>「空白ではない」と設定します。
![](https://assets.st-note.com/img/1675068026592-PzP5moLQPw.png?width=1200)
次に、実績集計表のH3に稼働時間計算用の関数を挿入します。H2には稼働時間と入力してください。そして、H1には1:00:00と入力します。
さらに、H列の表示形式を時間に変更します。H列を選び、メニューの表示形式>数字>時間を選びます。
関数は、arrayformulaを使っているので、データが入ってくると自動的に下に追加計算され表示されます。
これで、稼働時間が表示されました。
計算は、退社から出社時間を引いて、さらにH1に設定した1時間を引いています。(休憩と復帰の差の計算はしていません)
=arrayformula(if($B3:$B="","",$D3:$D-$C3:$C-$H$1))
![](https://assets.st-note.com/img/1675068342932-lKwIdO2loa.png?width=1200)
これで、タイムカードから吐出されたデータがフォームの回答1に入り、実績集計表で稼働時間の集計ができるようになりました。
⑤在席情報シートの作成
さて、最後になりますが在席情報シートを作成します。
行には、打刻日付と氏名を追加し、打刻日付の並べ替えを降順にします。
![](https://assets.st-note.com/img/1675143982092-N79FxpTzKl.png?width=1200)
列には、勤怠種別、値には打刻時刻、フィルタには氏名と打刻日付を追加し、条件でフィルタ>空白ではないを設定します。
![](https://assets.st-note.com/img/1675144021925-0jAUKHOxVP.png?width=1200)
フィルタの打刻日付ですが、実際の運用直前には、条件を「空白ではない」から、日付>本日を選んで、今日の日付に直すと今日だけの情報が集計されます。また、表示期間は過去1週間以内も選べるので、適宜現場の状況で変更してください。
![](https://assets.st-note.com/img/1675205245635-dQJUwcsvfK.png?width=1200)
![](https://assets.st-note.com/img/1675144214870-yzEOXiO6X1.png?width=1200)
これで、在席情報シートが完成しました。
さて、次回は、作った在席情報シートのデータを、表示のみに利用する別の在席管理ファイルに飛ばして、マイサイトに埋め込みます。
これは、勤怠管理データファイルを直接マイサイトに貼り付けてしまうと、他のシートも丸見えになってしまうための処理になります。(続く)