前回はCOUNTIFで正しくカウントされない原因として、表記ゆれの問題を解説しました。今回のテーマは「フォームに入力したはずなのに、スプレッドシートに反映されない」というトラブルです。
試合後にメンバー全員が入力を済ませてくれたのに、スプレッドシートを開いてみると新しいデータが増えていない——そんな場面に出くわしても慌てずに済むよう、仕組みと対処法を整理しておきましょう。
フォームとシートの連携の仕組みをおさらいする
まずは「そもそもどうやってデータが連携されているのか」を確認しておきます。仕組みを理解しておくだけで、トラブルの原因を絞り込むスピードがぐっと上がります。
Googleフォームには「回答をスプレッドシートに記録する」という設定があります(第7回参照)。この設定を行うと、フォームに回答が届くたびに自動でスプレッドシートの指定シートに1行追加されます。
| フォーム | → | 記録先シート |
|---|---|---|
| 野手フォーム | → | フォーム(野手)シート |
| 投手フォーム | → | フォーム(投手)シート |
| チーム成績フォーム | → | フォーム(チーム成績)シート |
各フォームシートのA列にある「タイムスタンプ」には、フォームに回答が届いた日時が自動で記録されます。この列に新しい行が追加されていれば、連携は正常に動作している証拠です。
反映されていないかどうかの正しい確認方法
「反映されていない」と決めつける前に、まずタイムスタンプ(A列)を確認しましょう。
フォーム(野手)シートを開き、A列の最終行を確認します。最新の回答日時が表示されているかをチェックしましょう。例えば「本日の15:30に入力したはずなのに、A列の最終行が先週の日付のまま」であれば、反映されていないことがすぐにわかります。
Googleフォームを開き、「回答」タブをクリックすると回答数が表示されます。この数字と、スプレッドシート側のフォームシートのデータ行数(ヘッダーを除く)が一致しているかを見比べてください。フォームの回答数の方が多いのにシートの行数が少なければ、途中のどこかで連携が切れています。
例えば、あるチームの管理表で各フォームシートのデータ行数を確認すると、次のようになっていたとします。
| シート | データ行数(ヘッダー除く) |
|---|---|
| フォーム(野手) | 339行分のデータ |
| フォーム(投手) | 106行分のデータ |
| フォーム(チーム成績) | 35行分のデータ |
この数字とGoogleフォームの「回答」タブに表示される回答数が一致していれば、連携は正常です。
反映されない原因のパターンと対処法
パターン①:スプレッドシートとの連携が設定されていない・解除されている
最も多い原因がこれです。フォームを複製した、スプレッドシートを移動した、誰かが誤って連携を解除してしまった——こうしたタイミングで連携が外れてしまうことがあります。
フォームの編集画面上部には「質問」「回答」「設定」の3つのタブがあります。このうち「回答」タブをクリックします。
「回答」タブの右上には、スプレッドシートのアイコン(緑のシートのマーク)が表示されています。クリックすると連携先のスプレッドシートに移動できます。このアイコンが表示されていない、あるいはグレーアウトしている場合は、連携そのものが設定されていません。
スプレッドシートアイコンの右隣にある「︙(縦三点)」をクリックし、「回答先を選択」を選びます。「既存のスプレッドシートを選択」で、この成績管理表のスプレッドシートを指定してください。連携先シートを選ぶダイアログが表示されるので、正しいフォームシート(フォーム(野手) など)が選ばれているかを確認してから「選択」をクリックします。
連携を再設定したとき、Googleが自動で「フォームの回答1」のような新しいシートを作ってしまうことがあります。これは既存の「フォーム(野手)」シートとは別物なので注意してください。
このような場合は、新しく作られたシートのデータを「フォーム(野手)」シートに手動でコピーし、新しいシートを削除したうえで、「回答先を選択」から改めて正しく「フォーム(野手)」シートを指定し直します。
パターン②:フォームへの回答が「受付停止」になっている
フォームには回答の受付を停止する設定があります。これが誤ってオンになっていると、送信しようとしても「このフォームは現在回答を受け付けていません」と表示され、そもそも送信できません。
Googleフォームの編集画面で「回答」タブを開くと、「回答を受け付けています」というトグルスイッチがあります。これがオフ(グレー)になっていれば受付停止の状態です。スイッチをオンにする(緑色にする)と受付が再開されます。
シーズンオフの間に誤って停止にしたまま忘れてしまう、というケースがよくあります。シーズン開始前には必ず確認しておきましょう。
パターン③:フォームシートの参照範囲を超えてしまっている
Googleスプレッドシートには1シートあたり最大100万行という上限があります。草野球の成績管理でこの上限に達することはまずありませんが、数式が参照している範囲の設定によっては、意図した範囲外にデータが記録されてしまうケースがあります。
例えば、フォーム(野手)は340行目まで、フォーム(投手)は107行目まで、フォーム(チーム成績)は36行目までを参照するように数式が組んであったとします。この場合、データが増えて試合当日シートや年間シートが参照している行数の範囲を超えると、それ以降の新しいデータは集計に含まれなくなってしまいます。
例えば、年間(投手)シートのD列に次のような数式が入っていたとします。=SUMIF('試合当日(投手)'!$C$2:$C993, $B2, '試合当日(投手)'!$D$2:$D993)。これは993行目まで参照しているという意味です。
1試合あたりの平均登板投手数が5名、年間30試合を行うチームなら、必要な行数は150行ほど。993行という設定であれば、6年以上使い続けても十分に余裕があります。気になる場合はCOUNTA関数で実際のデータ行数を数え、参照範囲と比較してみてください。
パターン④:Googleアカウントのセッション切れ・オフライン状態
スマホでフォームを送信したとき、電波の届かないオフライン状態だと「送信完了」のような画面が表示されても、実際にはGoogleのサーバーにデータが届いていないことがあります。
- Googleフォームの「回答」タブで回答数を確認する——オフライン送信が失敗していれば、回答数が増えていません
- 送信者本人にメール通知を設定しておくと、送信成功時にメールが届くので確認しやすくなります(フォームの設定→「メールアドレスを収集する」をオンにして「回答のコピーを送信者に送る」を設定)
- 入力した内容が消えてしまった場合は、電波の良い場所でもう一度フォームから入力し直してください
データが消えた・重複している場合の対処
フォームの連携トラブルでは、まれに「データが重複して記録された」「一部のデータが消えた」という問題も起こります。この対処法も確認しておきましょう。
同じ回答が2回送信されてしまったり、通信の不安定さで二重に記録されてしまったりすると、タイムスタンプ(A列)の値が全く同じ行が2行できます。これが重複の見分け方です。
重複行はフォームシートから1行だけ削除します。前回(第86回)で解説したとおり、フォームシートの行削除は慎重に行ってください。削除した行を参照している試合当日シートに#REF!が出る可能性があるため、削除後は必ず試合当日シートの表示を確認しましょう。
重複行の削除には#REF!のリスクが伴います。より安全な方法として、重複行の各セルを空欄にする(値だけ消してセル自体は残す)というやり方があります。
試合当日シートは「試合日が空欄の行は集計しない」という設計になっているため、フォームシートの行を空欄にするだけで重複データを集計から除外できます。行そのものは残るので、#REF!も発生しません。
トラブルを未然に防ぐための運用ルール
| タイミング | 確認項目 |
|---|---|
| シーズン開始前 | 3つのフォーム(野手・投手・チーム成績)の受付状態がオンになっているか確認する |
| 試合後の入力直後 | フォームシートのA列(タイムスタンプ)に新しい行が追加されているか確認する |
| 入力メンバーへの共有時 | 電波の良い場所で入力するよう案内し、「送信」ボタンを押した後に「回答を記録しました」の画面が出ることを確認してもらう |
| 定期的(月1回程度) | Googleフォームの回答数とフォームシートの行数が一致しているか照合する |
- フォームの回答がシートに反映されているかはフォームシートのA列(タイムスタンプ)で確認する——最新の日時が表示されていれば正常です
- 反映されない主な原因は①連携が切れている、②受付停止になっている、③オフラインで送信失敗している、④参照範囲外にデータが記録されているの4パターン
- 連携が切れた場合は、Googleフォームの「回答」タブ→「︙」→「回答先を選択」から既存のスプレッドシートを再指定します
- 再連携時に新しいシートが作られた場合は、データを正しいシートにコピーして新シートを削除し、改めて正しいシートを連携先に指定します
- 重複データは行を削除するよりセルを空欄にするほうが#REF!のリスクがなく安全です
- 予防の基本はシーズン開始前の受付状態確認と試合後のタイムスタンプ確認を習慣づけることです
次回予告
次回のテーマは「選手名の表記ゆれを防ぐ方法」です。COUNTIFSやSUMIFでは選手名を条件に集計しているため、「SUZUKI」「Suzuki」「 SUZUKI」のように表記が揺れているだけで集計が分断されてしまいます。フォームのドロップダウンと設定一覧を使って、表記ゆれを根本から防ぐ方法を解説します。
▶︎ 次回:【第90回】選手名の表記ゆれを防ぐ方法



コメント