毎日の転記作業をなくす|Googleフォーム→受付メール自動化の全手順【コード付き】

記事
IT・テクノロジー
### はじめに

Googleフォームで申込みを受け付けたあと、こんな作業をしていませんか。

- 回答をスプレッドシートに手で転記する
- 申込者へ「受け付けました」のメールを1件ずつ送る
- 申込みがあったことを自分宛にメモ・転送する

1件あたりは数分でも、毎日・毎週積み重なると大きな時間になります。
この3つは、Google Apps Script(GAS)でまとめて自動化できます。しかも、転記の部分は実は「設定だけ」で終わります。

この記事では、プログラミング未経験の方向けに、コピーして使えるコード付きで全手順を解説します。

### 全体像

自動化の流れはこうです。

1. フォームが送信される
2. 回答が自動でスプレッドシートに記録される(これはGoogleの標準機能)
3. GASが申込者へ受付メールを自動送信する
4. 同時に、管理者(あなた)へも通知メールが届く

必要なものは、Googleアカウントだけです。費用はかかりません。

### 手順1:フォームとスプレッドシートを連携する

1. Googleフォームの編集画面で「回答」タブを開く
2. スプレッドシートのアイコン(緑色)を押し、「新しいスプレッドシートを作成」を選ぶ

これで、フォームが送信されるたびに回答が自動でシートに記録されるようになります。転記はこれで完了です。あとは「送信されたらメールを出す」部分をGASで足します。

### 手順2:スクリプトを貼り付ける

1. 手順1で作られたスプレッドシートを開く
2. メニューの「拡張機能」→「Apps Script」を開く
3. 最初から書いてある文字をすべて消し、下のコードを貼り付ける
4. コードの中の `ADMIN_EMAIL` の部分を、自分のメールアドレスに書き換える
5. 保存する(Ctrl+S、またはフロッピーのアイコン)

```javascript
// フォーム送信時に動く関数
// 申込者への受付メール送信と、管理者への通知を行います
function onFormSubmit(e) {
  const ADMIN_EMAIL = '自分のメールアドレス'; // 自分のアドレスに書き換える

  // 回答を取得(列の並び順に配列で入っています)
  // values[0]=タイムスタンプ, values[1]=お名前, values[2]=メールアドレス
  // ※フォームの質問の並びに合わせて数字を調整してください
  const values = e.values;
  const name = values[1];
  const email = values[2];

  // 申込者への受付メール
  const subject = '【受付完了】お申し込みありがとうございます';
  const body =
    name + ' 様\n\n' +
    'お申し込みを受け付けました。\n' +
    '内容を確認のうえ、担当よりご連絡いたします。\n\n' +
    '※このメールは自動送信されています。';
  MailApp.sendEmail(email, subject, body);

  // 管理者への通知メール
  MailApp.sendEmail(
    ADMIN_EMAIL,
    '【通知】新しい申込みがありました',
    '申込者: ' + name + '(' + email + ')\nシートで内容を確認してください。'
  );
}
```

### 手順3:トリガー(自動実行のきっかけ)を設定する

コードを貼っただけでは自動で動きません。「フォームが送信されたら、この関数を動かす」という設定を1回だけ行います。

1. Apps Scriptの画面で、左側の時計アイコン(トリガー)を開く
2. 右下の「トリガーを追加」を押す
3. 次のように設定して「保存」する
   - 実行する関数: `onFormSubmit`
   - イベントのソース: 「スプレッドシートから」
   - イベントの種類: 「フォーム送信時」
4. 保存の途中で「権限の承認」を求められたら、自分のGoogleアカウントを選び、確認画面を進めて許可する(初回のみ)

これで完成です。試しにフォームからテスト送信をして、受付メールと通知メールが届くか確認してください。

### つまずきやすいポイント

- **メールが届かない**: まず `values` の番号(列の対応)がフォームの質問順と合っているか確認してください。質問の順番を変えたら、コード側の番号も合わせます
- **権限エラーになる**: 手順3の承認が済んでいないことが多いです。トリガーを一度削除して、もう一度追加すると承認画面が出ます
- **メール送信には上限がある**: 無料のGoogleアカウントでは、1日の送信通数に上限があります(目安として100通/日程度)。大量送信には向きません
- **個人情報の扱い**: 申込者のメールアドレス等がシートに蓄積されます。共有設定は必要な人だけにしてください

### 応用編:ここから広げられます

同じ仕組みの延長で、次のような自動化もできます。

- 申込み内容をもとに、請求書や受講証のPDFを自動作成する
- 毎朝、昨日の申込み件数を集計して自分宛にメールする
- フォームの「希望日時」をGoogleカレンダーに自動登録する
- 複数シートのデータを1つにまとめて集計する

「手順が決まっている作業」は、だいたいこの形の応用で置き換えられます。

### まとめ

- 転記はフォームとシートの連携設定だけで自動化できる
- メール送信は、短いGASコード+トリガー設定1回で自動化できる
- うまくいかないときは「列の番号」「権限の承認」「送信上限」の3点を疑う

ここまで読んで、「自分の作業でもできるか分からない」「設定する時間がない」という方は、よければご相談ください。自動化できるかどうかと、金額の目安を正直にお答えします。対応サービスはプロフィールからご覧いただけまいただけます。

役に立ったら、フォローやお気に入りをいただけると次の記事の励みになります。今後も、業務自動化の具体的な手順を無料で公開していきます。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す