第4章のテーマは「フォームデータがシートに記録される仕組み」です。その第一歩となる第27回では、フォームの回答がスプレッドシートにどう記録されるのか、基本の仕組みを見ていきます。
ここでの理解が、第5章で登場するCOUNTIF関数の書き方を「なぜそうなるのか」まで腑に落として理解するための土台になります。
フォームを送信すると何が起きるか
Googleフォームで回答を入力し、「送信」ボタンを押した瞬間。裏側では、次のことが自動的に進んでいます。
1回の送信で記録されるのは、横一列のデータ1行だけです。田中選手が入力すれば1行、鈴木選手が入力すればまた1行。試合を重ねるたびに、その行がどんどん下へ積み上がっていきます。これが「縦に積まれる」という表現の意味です。
回答シートはこんなふうに積み上がっていく
例えば、こんな野手フォームの回答シートがあったとします。試合を重ねるにつれて、行はこのように下へ積み上がっていきます。
| A列 タイムスタンプ |
B列 試合日 |
C列 〇試合目 |
D列 打順 |
E列 選手名 |
F列 第一打席 |
G列 第二打席 |
|---|---|---|---|---|---|---|
| 2026/5/11 18:32 | 2026/5/11 | 1試合目 | 1番 | 田中 | 三安 | 遊ゴ |
| 2026/5/11 18:35 | 2026/5/11 | 1試合目 | 2番 | 鈴木 | 中2 | 右本 |
| 2026/5/18 17:10 | 2026/5/18 | 1試合目 | 1番 | 田中 | 四球 | 中安 |
| 2026/5/18 17:14 | 2026/5/18 | 1試合目 | 2番 | 鈴木 | 三振 | 遊ゴ |
このように、試合が増えるたびに行が下へ追加されていきます。シーズンを通して試合を重ねれば、数百行に達することも珍しくありません。
タイムスタンプとは何か
A列に自動記録される「タイムスタンプ」は、フォームが送信された正確な日時を表す情報です。
- 入力順の確認:誰が何時に入力したかを把握できる
- 重複入力の検出:同じ選手が短時間に複数回送信した場合に気づける
- データの信頼性確認:試合当日以外に入力された場合などを確認できる
成績の集計に使うのは「試合日(B列)」と「選手名(E列)」です。タイムスタンプはあくまで管理用の情報であり、COUNTIFの条件には使いません。
列の番号を把握しておく重要性
COUNTIFで集計するときは、「どの列のデータを参照するか」を必ず指定します。だからこそ、フォームの回答シートがどんな列構成になっているか、あらかじめ把握しておくことが欠かせません。
| 列 | 内容 | COUNTIFでの用途 |
|---|---|---|
| A列 | タイムスタンプ | 使わない |
| B列 | 試合日 | 試合ごとの集計条件 |
| C列 | 〇試合目 | ダブルヘッダーの区別 |
| D列 | 打順 | スコア表の並び替えに使用 |
| E列 | 選手名 | 最重要:選手ごとの集計条件 |
| F列 | 守備位置 | スコア表の表示に使用 |
| G列 | 第一打席 | 打席結果のカウント対象 |
| H列〜P列 | 第二打席〜第十打席 | 打席結果のカウント対象 |
| Q列 | 打点 | SUMIFで合算 |
| R列 | 盗塁 | SUMIFで合算 |
列の位置は、フォームの質問の順番と一対一で対応しています。質問の順番を変えると列の位置もずれてしまい、既存のCOUNTIF関数が正しく動かなくなることがあります。フォームの質問順は、原則として変更しないようにしましょう。
データが増えても関数は自動で対応する
COUNTIFやSUMIFの範囲を、あらかじめ「G2:G1000」のように十分な行数で設定しておけば、新しいデータが追加されても関数側で計算し直す必要はありません。最初から余裕を持った範囲を組んでおくことが、後々の手間を減らすコツです。
- フォームを送信するたびに新しい行が1行追加される
- A列にはタイムスタンプ、B列以降に回答が横並びで記録される
- 試合・選手が増えるほど行が縦に積み上がっていく
- 集計には選手名(E列)と打席結果(G〜P列)を主に使う
- フォームの質問順を変えると列の位置が変わるため原則変更しない
- 関数の範囲は最初から余裕を持って設定しておく
次回予告
次回は「フォームの回答シートは触らなくていい理由」。自動記録されるシートをなぜそのまま守るべきなのか、そして手動編集がなぜ禁物なのか、その考え方をじっくり解説します。



コメント