スプレッドシートからgoogleフォームを作りたい!
Twitterにも書きましたが、googleフォームって便利だけど作るのはそれなりにめんどくさいんですよね。
エクセルで作った問題をそのままフォームにできたらいいのに…って思ってる人、いませんかね。
てことで、できる限りフォームはいじらずスプレッドシートで問題を作れるようにGASを使ってみました。
https://twitter.com/tomo_jpnstchr/status/1254345676575477761?s=21
プログラムの知識が一切なくてもできます。だって俺もプログラムなんか作れないもの。
さて、それじゃさっそくやり方。
①まず、共有してあるスプレッドシート↓を自分のgoogle driveにコピーして、それを開いてください。
https://docs.google.com/spreadsheets/d/1xJ2efw5DnhC7XBFxb3G0Cu2wM6q-1MSFSgS1LdyGQ8o/edit
②「フォームのタイトルを入力」ここにタイトルを入力します。
③「フォームの説明を入力」ここにフォームの説明を書きます。例えば「漢字の読み方を書いてください」とか「正しいことばを選んでください」みたいな、大問の問題文です。
④「問題文を入力」ここに一つ一つの問題を書きます。例では漢字の読み方を問う問題なので、漢字を入力しています。
⑤「選択肢1(正答)」ここに正しい選択肢を書きます。
⑥「選択肢2~4(誤答)」ここに間違った選択肢を書きます。
⑦「点数を半角数字で入力」ここに配点を書きます。
以上が基本的な入力事項です。
あとは問題を増やしたいだけ9~11行目をコピーして、13行以降に挿入してください。
コピーする際には、正答が1~4のいずれかに偏らないように、バランスよくコピーしてください。
※16行目は非表示にしてありますが、プログラムの一部が書かれていますので絶対に消さないでください。
問題数を増やす場合は必ず13~15行目のところに挿入してください。
では、次は②~⑦で入力したデータでフォームを作ります。
⑧赤いセルの部分をすべてコピーします。
⑨「ツール」から「スクリプトエディタ」を選びます。すると何やら英語で書かれた難しそうなものが出てきます。最初は「function myFunction() {}}」と書かれていると思います。全て消してまっさらにしてください。
⑩先ほどコピーしたものを貼り付けてください。赤いセルがちゃんと全部コピーできていれば、②~⑦の全てがペーストできるはずです。この時スプレッドシートでは非表示にしていたプログラムも一緒にペーストされています。急に英語でごちゃごちゃ書かれていてもびっくりして消さないでください。1文字でも消えるとプログラムが動きません。
⑪左上をクリックして、ファイルのタイトルを入力して、右向きの▼をクリックしてプログラムを実行しましょう。
⑫最初だけ認証が必要になります。「あんたのアカウントでなんかプログラム使おうとしてるけど大丈夫?」みたいな質問されます。俺のことを信用してくれるなら許可してください。これでもう新しいフォームができています。
⑬スプレッドシートを終了して、フォームを開きましょう。先ほどスプレッドシートで入力した通りのフォームができているはずです。問題、選択肢、配点等間違いなければ、最後にフォームの設定をします。
「全般」もプログラムでいじれるんですが、とりあえず全部チェックは外した状態で作ってあります。
「プレゼンテーション」では質問の順序をシャッフルするところにチェックを入れています。
「テスト」のところですが、表示できる項目のところはいじりかたがわかりません…が、どうせみんな毎回好きなように設定を変えたいだろうということで気にしないことにします。お好みで表示する項目にチェックを入れてください。
以上で終了です。
実際に学生に見せる問題を見てみると、質問がシャッフルされているのがわかります。
さて、これで共有したスプレッドシートの使い方は終わりです。
自分でプログラムを入力するところは一切ありません。問題と選択肢を入れたら後はコピペです。
一つ難点をあげると、正答と誤答についてです。
選択肢の1~4のいずれかに正答を入れてると、そのうちミスをしそうです。
少なくとも俺は間違いなくミスります。ケアレスミスのかたまりのような人間です。
なので、俺はいつも「質問の順序をシャッフル」しないバージョンで作っています。
正答はすべて選択肢1。そしてフォームを作ってから、一つ一つの問題の設定で「選択肢の順序をシャッフルする」にチェックを入れています。これはプログラムでいじれないので、全部手作業です。
しかし正答が全て選択肢1の方が、問題作成時にミスが少ないし、結局は問題数が多いときはその方が楽です。
また、いつも俺が学校で使っているものは、必ずフォームの最初に「名前」と「自分のクラス」を書かせる/選ばせる質問も入れています。「質問の順序をシャッフル」をオンにしてしまうと、この「名前」と「クラス」の質問が他の問題と混ざってしまうのも理由の一つです。
今回共有したものは、できる限りフォームをいじらずに済むもの、という趣旨で作ってあります。
また、今回は選択肢から答えを選ぶ問題で作りましたが、答えを入力するタイプの問題も作ることができます。
漢字の読み方など、選ぶより書かせたいときはこちらです。
ただし答えを入力するタイプは解答をプログラムで入力しておくことができないので、フォームを作ってから手作業で解答を入れていかなければなりません。まぁゼロからフォームで作るよりはずっと楽ですが。
ちなみに、今回は問題数が少ないので、フォームも1ページだけですが、問題数が100とかになるとページをいくつかに分けた方が見やすいし答えるもの答えのチェックも楽です。
プログラムでページを分けることも可能なのですが、そのくらいならフォームでやっても大した手間にならないのでそこは今回省いてます。
とりあえずこんな感じです。なんか質問とかあればTwitterの方にコメントぶらさげるかDMください。
ただし最初に書いた通り、俺もプログラムが作れるわけじゃありません。
なので知らないことの方が多いです。正直ここに書かれている以外のことはほとんど知りません。
「〇〇みたいなプログラムも作って!」とか言われても100%無理です。
〈追記〉
スプレッドシートにちょっと注意点追加して、違うバージョンのシートも入れました。
◇正答全部1ver…名前通りです。「質問の順序をシャッフル」はオフにしてありす。
このバージョンは名前通り選択肢1が正答になるので、手動で全問「選択肢の順序をシャッフル」にチェックを入れてください。
◇記述ver…選択肢ではなく、自分で答えを入力するタイプの問題です。これはプログラムでは答えを入れておくことができないので、全問手動で答えを入力してください。ちなみにこちらも「質問の順序をシャッフル」はオフにしてます。