みなさん、こんにちは!
三島笑会では、今年度高校現場でIT人材育成に携わっています。
その活動の中で、生徒たちの制作物を各チームが相互評価し、その結果を集計する作業が発生しました。
具体的には、
- 生徒一人ひとりのスプレッドシートを開いて数値を集計し、個別のコメントをチームごとに整理する
といった作業です。

この手作業を自動化できないかなー

スプレッドシートならGASを活用してできますよ!
この記事では、プログラミングの知識が一切なくても、話題のAIとGoogleの無料機能「GAS(Google Apps Script)」を活用し、数百人分のデータ集計・整理を劇的に効率化させる具体的な手順を、初心者にもわかりやすくご紹介します。
デジタル化の土台作り:必要なツールとゴール設定

でも自動化するにはプログラミングの知識が必要ですよね?

AIにプログラムを作らせれば大丈夫です!
まず、この自動化を実現するために必要なツールと、今回の作業のゴールを確認しましょう。
「コード」と聞くと難しく感じるかもしれませんが、ご心配は無用です。
私たちはAIにコード作成をすべて任せます。
重要なのは、「AIに何をさせるか」を明確に伝えることです。
必要なツール
ツール | 用途 |
---|---|
Google Classroom | 課題の配布・回収 |
Google スプレッドシート | 集計用マスターファイルとして使用 |
AIツール(ChatGPT, Geminiなど) | GASコードの作成を依頼 |
実践編:自動化を実現する「AIへの指示書」とコードの準備
この自動集計で最も重要なのは、AIに作成を依頼する「具体的な要件」を明確に定義することです。
今回の複雑な集計・整理を依頼するための、そのまま使える指示文(プロンプト)を用意しました。
【最重要】AIに作成を依頼する「具体的な要件」の定義
まずは、何を自動化したいのかを整理します。
集計したいデータ | 出力形式 |
---|---|
数値集計:生徒シートのB2:E13 の数値 | 3つのシート(合計・件数・平均)に、同じセル位置(B2:E13)に出力。 |
条件:数値集計シートには、元のシート1 のヘッダー・ラベルをコピーする。 | チーム別(Aチーム〜Lチーム)の12個の新しいシートを作成。 |
コメント整理:生徒シートのF2:F13 のコメント | 条件:コメントが空欄の生徒は無視し、コメントとファイル名(生徒名)をセットで出力する(B1から縦)。 |
AIへの具体的な指示文例(このままコピペOK!)
この指示文をAIツールに入力し、コードを生成してもらいます。
私はGoogle Classroomで配布したスプレッドシートの集計をしたいです。以下の要件を満たすGoogle Apps Script (GAS) のコードを作成してください。
【処理の前提】
1. 対象ファイルはすべてGoogle Driveの一つのフォルダに入っています。
2. 集計マスターシート内でこのGASを実行します。
3. 生徒の入力シート名はすべて「シート1」です。
【要件 1: 数値の集計・出力】
* 生徒シートの`B2:E13`セルの数値を集計します。
* マスターシートに「合計」「件数」「平均」の3つのシートを作成し、集計結果を対応するセル(B2:E13)に出力します。
* 「合計」「件数」「平均」シートには、マスターシートの「シート1」の`A1:E13`の構造(文字列/ラベル)を先にコピーしてください。
【要件 2: コメントの整理・出力】
* 生徒シートの`F2:F13`には、AチームからLチーム(F2がAチーム、F13がLチーム)へのコメントが入力されています。
* マスターシートに「Aチーム」から「Lチーム」までの12個の新しいシートを作成します。
* コメントが空欄の生徒のデータは転記しません。
* 各チームシートには、生徒のファイル名とコメント本文をセットで、`A2`セル以降に縦一列で出力してください。

このプロンプト自体を、ChatGPTやGeminiと対話して作成するといいですよ
最終ステップ:GASへの貼り付けと自動集計の実行
入手したコードをGoogleスプレッドシートで動作させるための、具体的な操作手順をご紹介します。
4-1. コードの準備(GASエディタの起動とコードの設定)
- 集計用マスターシートを開き、メニューから [拡張機能] → [Apps Script] をクリックし、エディタを起動します。
- AIが生成したコードをエディタにすべてコピー&ペーストします。
- コード冒頭にある以下の設定箇所を、ご自身の環境に合わせて必ず修正してください。
FOLDER_ID
: 生徒の提出ファイルが入っているフォルダのIDTARGET_SHEET_NAME
: 生徒が入力したシートの名前(例:"シート1"
)
- 上部の保存ボタン(フロッピーディスクアイコン)をクリックしてコードを保存します。
4-2. 実行と結果の確認
- エディタ上部のドロップダウンが、作成した関数名(
collectAndSummarizeRangeData
)になっていることを確認します。 - ▶️(実行)ボタンをクリックします。
- 【重要】初回のみ、Google Driveへのアクセス許可を行います。
「承認が必要です」の表示が出たら画面の指示に従い、アクセスを許可してください。 - 画面右下に「完了」通知が出たら、集計成功です。
【Q&A】デプロイ(公開)は必要ですか?
プログラミング経験のある方から「GASはデプロイ(公開)が必要では?」という疑問が出るかもしれませんが、今回の作業ではデプロイは一切不要です。
デプロイとは、通常、スクリプトを外部のウェブアプリとして公開したり、Googleフォームの送信などの外部トリガーで自動実行させるために必要な手順です。
今回は、GASエディタ内で手動で実行ボタンを押すだけで完結し、結果も自分自身のスプレッドシート内に書き込まれるため、外部への公開設定(デプロイ)は必要ありません。
必要な操作は、コードを保存し、▶️(実行)ボタンを押すだけです。複雑な設定は一切不要ですので、ご安心ください。
【イメージ図解】GAS実行前後のスプレッドシートの構造
このGASが何を実現したのかを具体的にイメージするために、生徒シートと集計マスターシートの構造を見てみましょう。
1. 生徒シート(提出テンプレートのイメージ)
生徒が提出するシートでは、数値集計範囲(B2:E13)とコメント収集範囲(F2:F13)が明確に分かれています。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 項目 | 評価1 | 評価2 | 評価3 | 総合 | |
2 | Aチーム | 85 | 90 | 78 | 84 | よく頑張りました。 |
3 | Bチーム | 70 | 80 | 95 | 82 | アイデアが光っています。 |
… | … | … | … | … | … | … |
2. 集計マスターシート(GAS実行後の結果)
① 数値集計結果シート(「合計」「件数」「平均」シート)
元のシート1
の構造(A列と1行目のラベル)がコピーされ、その中のB2:E13
セルに集計値が上書きされます。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 項目 | 評価1 | 評価2 | 評価3 | 評価4 |
2 | Aチーム | (全生徒のB2セルの合計) | (全生徒のC2セルの合計) | (全生徒のD2セルの合計) | … |
… | … | … | … | … | … |
13 | Lチーム | … | … | … | (全生徒のE13セルの合計) |
② コメント整理シート(「Aチーム」シートの例)
コメントが入力された生徒のデータのみが抽出され、ファイル名とコメントがセットで整理されます。
A | B | |
---|---|---|
1 | ファイル名(生徒名) | コメント |
2 | 〇〇太郎(提出) | よく頑張りました。 |
3 | 〇〇花子(提出) | 素晴らしい結果だと思います。 |
AIが生成した「自動分類・転記」のコード例
AIが生成したコードは非常に長いですが、その中でも生徒のコメントを「空欄チェック」しながら「チーム別に自動分類」している、核心となる部分を抜粋してご紹介します。
プログラミングの知識がなくても、コードの中の「コメント」を読めば、AIが何を命令されているか理解できるはずです。
// コメントデータの収集(ファイルループ内)
const commentValues = studentSheet.getRange(TARGET_RANGE_COMMENT).getValues();
for (let i = 0; i < TEAM_NAMES_ALPHABET.length; i++) {
const teamName = TEAM_NAMES_ALPHABET[i] + "チーム";
const comment = commentValues[i][0];
// ★★★ 核心部分: コメントが空欄でないかチェック ★★★
if (comment && String(comment).trim() !== "") {
// コメントがある場合のみ、ファイル名とコメントをセットで格納
teamComments[teamName].push([fileName, comment]);
}
}
このように、「もしコメントが空欄でなければ(if文)、そのコメントを格納しなさい」という複雑な指示も、AIは的確に実行してくれています。
これが、手作業の時間を大幅に削減する「自動化の力」です。
まとめ:自動化がもたらす未来と地域IT企業からの提案
今回のGASスクリプト一つで、以下のような複雑な処理がすべて自動で完了しました。
- 複数シートの合計・件数・平均計算と構造の復元
- チーム別コメントの自動分類・転記(空欄除外)
かつて手作業で「数時間」かかっていた業務が「数秒」に短縮されます。
この節約された時間は、きっと生徒との対話や、よりクリエイティブな指導計画に活かせるはずです。
三島笑会は、「ITは難しい」というイメージを無くし、先生方やプログラミング初心者の方々が、AIと身近なツールを使って業務を改善できるよう、お手伝いします。
今回のGASのように、「この部分も自動化できないか」という疑問があれば、ぜひお気軽にご相談ください。