Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】From Sheets to Quizzes: Automating Google Forms Like a Pro

2025年09月29日に「Dev.to」が公開したITニュース「From Sheets to Quizzes: Automating Google Forms Like a Pro」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Googleフォームでのクイズ作成は手作業だと手間がかかる。この課題を解決するため、Google Sheetsに問題内容を記述し、Google Apps Scriptを用いて自動的にGoogleフォームのクイズを生成するツールが開発された。セクション分け、配点、正解設定なども自動化され、効率的なクイズ作成を実現するオープンソースプロジェクトだ。

ITニュース解説

Googleフォームは、アンケートやテスト作成に非常に便利なツールだが、クイズを手作業で何度も作るのは、多くの人にとって退屈な作業となりがちだ。特に、問題ごとに選択肢を追加したり、正解を設定したり、配点を入力したりする繰り返し作業は、時間が経つにつれて楽しさを奪ってしまう。教師や企業の研修担当者、さらにはIT技術者でさえ、定期的にクイズを作成する必要があるが、こうした定型的なデータ入力は誰もが避けたいものだろう。

この問題を解決するため、ある画期的なアイデアが提案された。それは、Googleスプレッドシートを「入力」として使い、そこから自動的にGoogleフォームのクイズを「出力」するというものだ。このアプローチのコンセプトは非常にシンプルで、まずGoogleスプレッドシートにクイズの問題文や選択肢、正解、配点などをまとめて記述する。次に、スプレッドシートに新しく追加されたメニューオプションをクリックすると、わずか数秒で、セクション分けや配点、正解設定まで完了した、完全に公開済みのGoogleフォームのクイズが自動的に生成されるのだ。これにより、手動での面倒な設定作業から解放され、大幅な時間短縮と作業の効率化が実現する。

この自動化プロジェクトは、主に三つのGoogleプロダクトを組み合わせて実現されている。一つ目は、クイズの問題文や詳細情報を管理する「Googleスプレッドシート」である。ここにすべてのクイズデータが集約される。二つ目は、この自動化の頭脳となる「Google Apps Script」だ。これは、Googleの各種サービスを連携・自動化するためのJavaScriptベースのプログラミング環境であり、スプレッドシートのデータを読み取り、Googleフォームを生成する一連の処理を実行する役割を担う。そして三つ目は、最終的な成果物である「Googleフォーム」だ。これらの技術が連携することで、手軽に高度なクイズを自動生成できるシステムが構築されている。このプロジェクトはオープンソースとしてGitHubで公開されており、誰でもそのコードを確認し、利用できる。

自動化の最初のステップは、Googleスプレッドシートに問題を記述することだが、そのためには特定のフォーマットに従う必要がある。スプレッドシートはまず、クイズ全体の「メタデータ」と呼ばれる情報から始まる。これには、クイズのタイトル(例:数学課題1)、説明(オプション)、そして回答を一人一回に制限するかどうか(TRUE/FALSE)といった項目が含まれる。これらの情報は、生成されるGoogleフォームの基本設定となる。

メタデータの後に空白行を挟んで、いよいよクイズの問題を記述する「質問テーブル」が続く。このテーブルには、「セクション」「質問(問題文)」「タイプ」「配点」「回答A」「回答B」「回答C」「回答D」といった列が用意されている。例えば、「セクション」には問題のカテゴリ(例:簡単、中程度)を記述し、「質問」には問題文を記述する。「タイプ」には、質問形式を指定し、主に「MCQ」(単一選択問題)、「SA」(記述式問題)、「MSQ」(複数選択問題)、「PARA」(段落形式の記述問題)などがサポートされている。「配点」には、その問題の点数を指定する。

選択肢がある問題の場合、「回答A」から「回答D」の列にそれぞれの選択肢を記述する。特に注意が必要なのは、「MSQ」(複数選択問題)で正解をマークする方法だ。このシステムでは、正解の選択肢の前にアスタリスク「*」を付けることで、自動的にその選択肢が正解として認識される。例えば、選択肢が「*2/3」「*0.6667」「0.65」「*0.666...」であれば、アスタリスクが付いた三つの選択肢が正解となる。このシンプルながら効果的な方法で、正解の設定もスプレッドシートから直接行える。このように、スプレッドシートのフォーマットを正確に理解し、それに従ってデータを入力することが、自動生成の鍵となる。

このプロジェクトの核心をなすのは、Google Apps Scriptで書かれたスクリプトファイル(Code.gs)だ。このスクリプトは、次のような一連の重要な処理を実行する。まず、前述のフォーマットに従って記述されたGoogleスプレッドシートのデータをすべて読み込む。次に、そのデータに基づいて新しいGoogleフォームを作成する。この際、既存のフォームテンプレートから設定を読み込むことも、全く新しいフォームを生成することも可能だ。フォームが作成されると、スクリプトはスプレッドシートの「セクション」情報に基づいてフォームにセクションを追加し、それぞれのセクションに割り当てられた問題の合計点を自動的に計算して表示する。

さらに、このスクリプトは「SA」(記述式)、「PARA」(段落形式の記述)、「MCQ」(単一選択)、「MSQ」(複数選択)といった、多様な質問タイプに対応している。スプレッドシートで指定されたタイプに応じて、Googleフォーム上に適切な形式の質問アイテムが生成される仕組みだ。そして最も便利な機能の一つとして、作成されたクイズを自動的に「公開済み」の状態にする点が挙げられる。これにより、生徒や受講者がフォームにアクセスした際に「申し訳ありませんが、このドキュメントは公開されていません」といったエラーメッセージが表示されることを防ぎ、すぐにクイズを開始できる状態となる。

スクリプトを実行すると、すぐに新しいGoogleフォームのクイズが完成する。この自動生成されたフォームには、いくつかの便利な特徴がある。まず、スプレッドシートで指定した通りにセクションが明確に区切られ、各セクションの合計点も表示されるため、回答者はクイズの構成を把握しやすい。また、回答者のメールアドレスが自動的に収集される設定になっているため、誰が回答したかを簡単に確認できる。加えて、「学生名」のような必須入力フィールドも自動的に追加されるため、回答者の識別が容易になる。公平性を保つため、MCQ(単一選択問題)とMSQ(複数選択問題)の選択肢は自動的にシャッフルされる設定が施されている。そして、クイズの回答結果は、元々問題データを記述した同じGoogleスプレッドシートに自動的にリンクされ、集計や分析が非常に簡単に行える。

この自動化システムを実際に使うためのセットアップ手順は非常にシンプルで、大きく三つのステップで完了する。最初のステップは、作成したいクイズのデータを、指定されたフォーマットに従ってGoogleスプレッドシートにコピーすることだ。次に、そのスプレッドシートを開き、「拡張機能」メニューから「Apps Script」を選択して、Apps Scriptエディタを開く。ここに、プロジェクトのリポジトリから提供されているスクリプトのコードをコピー&ペーストする。最後に、スプレッドシートをリロードすると、「フォームビルダー」という新しいメニューオプションが表示されるので、それをクリックし、「フォームを作成」を選択(確認プロンプトが表示されたら承認)するだけで、自動的にクイズが生成される。この簡単な手順で、誰でもこの強力な自動化ツールを利用開始できる。

このような自動化プロジェクトは、様々な分野で大きな意味を持つ。特に教育現場においては、教師が手作業でクイズを作成する手間と時間を大幅に削減し、よりスマートで効率的な教育活動に注力できる機会を提供する。教師は問題作成に集中でき、管理業務の負担を軽減できるのだ。また、IT開発者にとっても、これはGoogle Apps Scriptが持つ強力な機能と可能性を示す、非常に優れた実践的な事例となる。このプロジェクトは、ほんの少しのスクリプト記述が、日々の「うんざりするような手作業」を「クリック一つで完了」という劇的な変化に変えることができる、良い例だと言えるだろう。手作業によるクイズ作成という面倒な作業から解放され、より価値のある活動に時間を使えるようになる点で、この自動化は非常に意義深い。

関連コンテンツ

関連IT用語