Make×Googleスプレッドシート連携やり方|フォーム回答を自動追記する手順2026
Makeでスプレッドシートに自動追記したいのに、古い記事の手順が動かない
それ、あなただけじゃない。
2024年末からMakeのUIが刷新され、さらにGoogleのOAuth認証仕様も変わった。2年前のYouTube動画や記事を見ながら設定しようとすると、モジュール名も画面の場所も違う——という状況になっている。
この記事では、2026年時点のUIをベースに「Google Formsの回答をスプレッドシートへ自動追記する」手順を2パターン解説する。ポーリング方式とWebhook方式、どちらが自分に合うかもはっきり分かる。
💡 関連教材: ChatGPT業務自動化 実践テンプレート集(¥1,480) — API・スプレッドシート・メール・議事録・請求書をコピペで自動化する実装特化型テンプレート集(全22ページ)
Make×Googleスプレッドシート連携の全体像と2026年時点の注意点
2つの連携パターン、何が違うか
まず構成の違いを整理する。
パターンA:Makeネイティブモジュール方式
Google Forms(回答)→ Make「Watch Responses」→ Sheets「Add a Row」
パターンB:GAS+Webhook方式
Google Forms(回答)→ GASのonFormSubmit() → Make Webhook → Sheets「Add a Row」
結論から言うと、速度と安定性で圧倒的にBが上。Aはポーリング方式なので、フォーム送信からシートへの反映まで最大15分のラグが出る。Bは数秒以内。
「リアルタイムじゃなくていい」という用途ならAで十分。問い合わせフォームや申込受付でSlack通知と組み合わせるなら、Bを選ぶべきだ。
2024年以前の記事が「使えない」本当の理由
正直なところ、自分も最初にハマった。旧UIのスクリーンショットを見ながら設定しようとすると、モジュールの追加ボタンの位置から違う。
主な変更点は3つ。
- シナリオエディタの左パネルデザインが刷新(モジュール検索UIが変更)
- Google OAuth認証のスコープ確認画面の表示が変わった
- 「Add a Row」の列マッピング画面のレイアウトが変更
もう一つ見落とされがちな問題がある。90日以上使っていないGoogle接続は自動失効する。久々にシナリオを再開したら急に動かなくなった、という相談が増えているのはこれが原因だ。
無料プランで何回まで使えるか
2025年改定で無料プランは月1,000オペレーション、シナリオ2個までに変更された。繰り越しも廃止。
1回のフォーム送信で「Add a Row」1回=1オペレーション消費。エラーハンドリングやSlack通知モジュールを追加すると1送信あたり2〜3オペレーション消費になる。
月300回のフォーム回答があるなら、3モジュール構成で900オペレーション。ギリギリ無料プランに収まる計算だ。それ以上になるなら有料プラン(Core:年払いで月9USD〜、10,000オペレーション)への移行を検討してほしい。
【基本構成】Makeネイティブモジュールで自動追記する手順(2026年最新UI)
前提:スプレッドシートの準備
ここを雑にやると後で必ずハマる。
- 1行目をヘッダー行にする(2行目以降にヘッダーがあると認識されない)
- 結合セルは使わない
- ヘッダー名は英数字推奨(日本語でも動くが文字化けリスクがある)
例えばこういう構成にする。
| timestamp | name | email | message | |———–|——|——-|——-|
シンプルに見えるが、これが一番安定する。
Step 1:Google Sheetsモジュールを追加する
Makeのシナリオエディタを開き、「+」ボタンからモジュール追加画面を起動。検索窓に「Google Sheets」と入力すると候補が出る。
トリガー側は「Google Forms」→「Watch Responses」を選択。スプレッドシート側は「Google Sheets」→「Add a Row」を選択する。
Step 2:Google OAuth接続を設定する
「Add a Row」モジュールの設定画面で「Connection」欄の「Add」をクリック。
2025年以降で確認すべきポイントが1つある。認証画面で「Googleスプレッドシートの表示、編集、作成、削除」のスコープにチェックが入っているかを確認すること。このスコープが抜けていると、追記時に403エラーが出る。
Step 3:列マッピングを設定する
「Add a Row」の設定画面で対象のスプレッドシートとシートを選択すると、1行目のヘッダーが自動で読み込まれる。
各列に対して、前のモジュール(Watch Responses)から渡ってくる値をマッピングする。タイムスタンプなら、名前ならという形式で指定する。
⚠️ よくあるミス:列名が認識されない場合は、スプレッドシートを一度閉じて再度開き、Makeのモジュール設定画面もリロードしてみる。キャッシュの問題で古いヘッダー情報を掴んでいることがある。
Step 4:テスト実行で確認
右下の「Run Once」をクリックしてシナリオを1回実行。Google Formsからテスト送信し、スプレッドシートに行が追加されれば成功だ。
【推奨構成】GAS+Webhookでリアルタイム追記する手順
なぜGASを経由するか
3つの理由がある。
- 遅延ゼロ:フォーム送信と同時にトリガーが走る
- オペレーション効率:Webhookトリガーはオペレーション消費が最小
- 安定性:Makeのポーリング間隔に依存しないため、取りこぼしがない
少し手間はかかるが、実務で使うなら断然こちらが正解だ。
Step 1:MakeでカスタムWebhookを作成してURLを取得する
シナリオエディタでトリガーとして「Webhooks」→「Custom Webhook」を選択。
「Add」→「Save」でWebhook URLが発行される。このURLをコピーしておく。形式はhttps://hook.eu2.make.com/xxxxxxxxxxxxxxxxのようになる。
Step 2:Google FormsにGASを紐付ける
Google Formsの編集画面を開き、右上のメニュー(︙)→「スクリプトエディタ」を選択。
以下のコードを貼り付ける。
function onFormSubmit(e) {
var webhookUrl = 'ここにMakeのWebhook URLを貼る';
var formResponse = e.response;
var itemResponses = formResponse.getItemResponses();
var payload = {
timestamp: formResponse.getTimestamp(),
respondentEmail: formResponse.getRespondentEmail()
};
itemResponses.forEach(function(itemResponse) {
var title = itemResponse.getItem().getTitle();
var response = itemResponse.getResponse();
// チェックボックスは配列で返るので文字列に変換
if (Array.isArray(response)) {
response = response.join(', ');
}
payload[title] = response;
});
var options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
};
UrlFetchApp.fetch(webhookUrl, options);
}
Step 3:GASのトリガーを設定する
スクリプトエディタ左側のメニューから「トリガー」を選択。
「トリガーを追加」→ 実行する関数:onFormSubmit、イベントのソース:「フォームから」、イベントの種類:「フォーム送信時」を選択して保存。
Googleアカウントの権限承認ダイアログが出るので許可する。
Step 4:MakeでWebhook→Add a Rowを接続する
Makeのシナリオに戻る。Webhookモジュールの後ろに「Google Sheets」→「Add a Row」を追加。
Webhookで受け取ったデータ(``等)をスプレッドシートの列にマッピングする。
Step 5:フォーム送信テストで動作確認
Google Formsのプレビューからテスト送信。Makeのシナリオ実行ログに「1 operation」と表示され、スプレッドシートに行が追加されれば完成だ。
💡 チェックボックス回答について:GASコード内でArray.isArray(response)のチェックを入れているため、複数選択の回答も「選択肢A, 選択肢B」という形式で1セルに収まる。
実務運用で必須のエラー対策とオペレーション節約設定
エラーハンドリングを必ず設定する
設定して満足して終わり、は危険だ。Googleの認証トークンが切れたとき、スプレッドシートの列構成を誰かが変えたとき——無音で失敗し続けるシナリオほど怖いものはない。
Makeのシナリオエディタで、モジュールを右クリック→「Add error handler」を選択。エラー発生時に「Gmail」または「Slack」モジュールを繋いでアラートを送る構成にする。
失敗ログシートを別タブに作るのも実務では重宝する。エラーハンドラーに「Google Sheets:Add a Row」をもう一つ追加し、失敗時刻・エラーメッセージ・送信データを別タブに記録する。あとから追いかけられる。
オペレーション数を節約する3つの設定
無料プランで運用するなら特に意識してほしい。
- フィルターを活用:特定条件の回答だけ処理する(例:「お問い合わせ種別が『見積もり依頼』のみ追記」)
- Webhookトリガーを使う:ポーリング方式より消費が少ない
- シナリオを統合する:似た処理は1シナリオにまとめてモジュール数を削減
90日ルールへの対策
Google接続の自動失効を防ぐには、シナリオを定期的に動かし続けることが一番確実だ。月に数回しかフォーム送信がない場合は、週1でダミーデータをWebhookにPOSTするシナリオを別途動かしておくという運用もある。
少し泥臭いが、「突然動かなくなった」を防ぐには有効だ。
今日やること:1つだけ選ぶ
まずMakeのシナリオエディタを開いて「Custom Webhook」モジュールを1つ作り、URLを取得するところから始めてほしい。
GASのコードを書くのが不安なら、記事内のコードをそのままコピーしてwebhookUrlの部分だけ書き換えれば動く。設定全体で30分あれば完了する。
認証エラーが出たら、まずGoogle接続を削除して作り直す。それだけで解決するケースが8割だ。
📘 もっと深く学びたい方へ
この記事で紹介した内容を、さらに体系的に・実務レベルで習得できる教材を販売中です。
ChatGPT業務自動化 実践テンプレート集(¥1,480)
API・スプレッドシート・メール・議事録・請求書をコピペで自動化する実装特化型テンプレート集(全22ページ)
- 動くGASコード・API設定手順・プロンプトをワンセット収録
- スプレッドシート連携/メール/議事録/請求書を実務レベルで自動化
- コピペで即動く実装コード(Python / GAS)付き
👉 今すぐ購入する
ChatGPT&Claude AIプロンプト集50選(¥980)
コピペで即使える実践プロンプト50種を全24ページに凝縮
- ビジネスメール・企画書・分析・コーディング等 8カテゴリ網羅
- ChatGPT / Claude / Gemini 全対応
- 変数を埋めるだけで即実務投入
👉 今すぐ購入する
関連記事
- Make×Notionデータベース連携やり方|フォーム回答を自動追加する手順
- ChatGPT API×スプレッドシート連携|GAS初心者向け設定と自動化手順
- Notion GAS連携やり方|スプレッドシートをNotionDBに自動同期する手順
関連ツール紹介
ブログ記事を効率的に量産するなら → Value AI Writer byGMOがSEO記事の自動生成に使える。月額1,650円から利用可能。![]()
おすすめツールの一覧はこちらにまとめている。