スタッフ教育の確認・共有作業を減らしたい。教育の進捗をスプレッドシート＋フォームで可視化＆自動配信

# Googleフォームとスプレッドシートを使った研修プログラムのアンケートシステム作成方法

この記事では、Googleフォームとスプレッドシートを活用して研修プログラムのアンケートシステムを作成する手順について解説します。プログラミング初心者の私ができました。初心者でも取り組めるステップバイステップの解説です。


![cceb34e1-9e59-48a3-a246-9a15ac10a8ed.jfif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/dd0cf0d6-7bee-6fac-b210-ad74a5dee0c4.jpeg)

## 1. なぜこのシステムを作ろうと思ったか

このシステムは、研修プログラムに参加した社員の理解度を測定し、必要に応じてフォローアップを行うことを目的としています。従来は、Excelデータを印刷してスタッフに記入させ、教育担当者が確認した後、エリア担当や関連部署にPDF形式で共有するという、多くの作業工程が必要でした。このプロセスを効率化し、作業負担を軽減するためのシステムを構築しました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/ac647147-a3d7-ce0a-5829-3ad90505339a.png" alt="description" width="70%">

図は習得する項目の一部です。どこができていないか確認するのも一苦労です。
習得した項目を私が店舗の担当者に報告⇒更にその上長であるエリア担当にも同様に報告⇒⇒マネージャーに報告⇒同様の報告や共有を部内のミーティングで報告。同じことを何度もしなければなりません。1度で済ませたい業務です。



そこで、Googleフォームを使用してアンケートを実施し、その結果をGoogleスプレッドシートに自動的に集計することで、データ管理を効率化できないかと考えました。特に、理解度が低い項目については、フォローアップ用の資料や動画リンクを提供することで、研修の効果を最大化することを目指しました。




紙の書類や報告の回数を減らしたいと考えています。


## 2. システムの概要

このシステムでは、まずExcelデータをインポートし、Googleスプレッドシートに研修内容リストを移します。その後、Googleフォームでアンケートに変換し、結果を自動的にスプレッドシートに集計します。また、理解度が低い項目については、追加のフォローアップを自動化する仕組みを構築を目指しています。


### 2.1 用意したもの

- Googleアカウント
- GoogleフォームとGoogleスプレッドシート
- Chat GPT(4oに課金しています）
- Excelの研修項目が入ったデータ





## 3. システムの流れ

このシステムは以下の流れで進行します。

1. **研修内容のスプレッドシートへの入力**: 研修の大項目、中項目、質問内容をExcelからGoogleスプレッドシートにインポートします。
2. **Googleフォームの作成**: スプレッドシートの内容をもとにGoogleフォームを作成し、質問を設定します。この作業は非常に手間がかかりました。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/6a0a068b-8c07-3de7-cb40-5229be68ca30.png" alt="description" width="70%">

質問を進めていく中で、作業が滞ることがありましたが…

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/79221feb-3f36-f4cd-26b2-be1b5a953be4.png" alt="description" width="70%">


質問内容や補足の文章が表示されないことがありました…


言われた通りにやっても、うまくいかず、完全にお手上げ状態でした…

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/501f1423-5246-5890-44c2-60b842d279fb.png" alt="description" width="70%">

師匠（Chat GPT 4.0）と約10回のやり取りを重ねる中で、新たな提案が出ました。データをE列にコピーして、そこからデータを引用するようにしたところ、うまくいきました。ただ、なぜうまくいったのかは分かりませんが、どうやら目に見えない数式や空欄が原因で問題が発生していたようです。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/d256f799-6e9a-6965-4d63-530685d45819.png" alt="description" width="70%">

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/fbdbb949-5ee2-1e68-36b9-932e1db47962.png" alt="description" width="70%">

完成したもののイメージです。（とりあえず一安心です…）


<br>

3. **アンケートの実施**: 作成したフォームを研修参加者に送信し、回答を収集しました。アンケートのリンクとQRコードを作成し、店舗管理者に送信して共有してもらっています。作って終わりではなく実際に運用してみなければわからいないこともあります。複数の店舗やエリア担当を巻き込んでデータ収集しています。


https://www.qr-code-generator.com/

今回はこちらのサイトを使用してQRコード作成しております。






## 4. スプレッドシートの準備

最初に、研修プログラムの内容をGoogleスプレッドシートに入力します。以下のように情報を整理しました。

| A列 | B列       | C列       | D列        | E列    |
|-----|-----------|-----------|------------|--------|
| 大項目   | 番号    | 中項目    | 質問内容   | 備考   |
| 業務分類   | 例: 1  | 例: 高齢者の特性を理解している | 例: 高齢者に多い疾患を理解する | 例：資料〇〇参照 |
| ... |           |           |            |        |

- **大項目**: 研修の大きなカテゴリ
- **中項目**: 大項目内の具体的な内容
- **質問内容**: アンケートで尋ねる質問
- **備考**: 補足情報（使用する資料や動画等の情報）

## 5. Googleフォームの設定



1. **Googleフォームを作成**: 上記のコードで作成したコードを使用してフォームを作成します。
2. **タイトルと説明を設定**: フォームのタイトルと説明を入力します。
3. **氏名などのセクションを作成**: フォームの最初に氏名、店舗、社員番号、職種を入力するセクションを追加します。

### 5.2 質問の追加

スプレッドシートに入力した「中項目」と「質問内容」を基に、Googleフォームに質問を追加します。各「大項目」ごとにセクションを分け、関連する質問を配置しております。

## 6. Googleフォームとスプレッドシートの連携

Googleフォームの回答を自動的にスプレッドシートに集計するように設定します。

### 6.1 回答のスプレッドシートへのリンク

1. **フォームの「回答」タブを開く**。
2. **「スプレッドシートにリンク」** をクリックし、回答を保存する新しいスプレッドシートを作成します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/6685c79d-6176-d2d1-d119-1be70e1055d0.png" alt="description" width="70%">

自動で送信されたデータです。A列とB列には情報が含まれていますが、個人情報のためホワイト処理しています。データの送信はできましたが、情報の送信先に誤りがありました。この部分は修正しましたが、新しいアンケート回答がないため、システムが正しく作動しているかは週明けに確認する予定です。


## 7. フォローアップシステムの構築

アンケート結果に基づいて、理解度が低い項目に対してフォローアップを行うシステムをGoogle Apps Scriptを用いて構築します。

### 7.1 Google Apps Scriptの設定例

以下は、アンケート結果に基づいてフォローアップメールを自動送信するGoogle Apps Scriptのサンプルです。

```javascript
function sendFollowUpEmails() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('アンケート結果');
  var data = sheet.getDataRange().getValues();
  
  for (var i = 1; i < data.length; i++) {
    var email = data[i][0]; // メールアドレスが入っている列を指定
    var score = data[i][3]; // 理解度のスコアが入っている列を指定

    if (score < 3) { // 理解度が3未満の場合
      var subject = "フォローアップ: 追加学習資料";
      var message = "研修の理解度が低い項目がありますので、以下の資料を確認してください。";
      
      MailApp.sendEmail(email, subject, message);
    }
  }
}
```
メールの送信リストのイメージ図です。A列に店舗名、B列には担当者のアドレスを入力します。担当者が複数いる場合は【,】で追加を入力することで追加できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/540061bb-504f-e5b0-8c5a-e191a4eebe6e.png)

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819170/0d169936-375e-7774-c035-4a2c2c5ff90e.png" alt="description" width="70%">

トリガー設定を用いて実験的に送信したところ、理解度が1や2の項目について自動送信ができました。ただ、テンプレートの宛先や本文をあらかじめ作成しておく方が良いと感じました。

### 8.まとめ
Googleフォームとスプレッドシートを連携させることで、効率的な研修の理解度管理システムを構築できました。これにより、研修の進行状況や習得度が低い項目を可視化し、今後の教育に役立てる指標が得られました。試験運用を開始しており、使用感を確認しながら改善を進めていく予定です。社内システムのセキュリティ上、リンクが使用できないことや資料の整備不足といった新たな課題も見つかりましたが、これらも解決していきたいです。