質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Q&A

0回答

2662閲覧

《スプレッドシートからフォームを作成》試験問題を作成しているが、複数解答問題が採点されません。

ST-1739

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

0グッド

0クリップ

投稿2020/04/24 02:25

編集2020/04/25 09:14

前提・実現したいこと

初心者です。
GASを使ってスプレッドシートからフォームを作成しています。
作成しているフォームはテスト問題です。
問題の中には選択肢が1つの場合と2つの場合があり、
前者は作れたのですが、後者がうまくいきません…

GASコードで「2つ選べ。」の問題を採点できるよう設定したいです。

問題数が100問以上ある中でランダムに上記のような問題があるので、自動に設定できるようにしたいです。
webから情報を探しながら作っている状態なので、基本的な知識がなく困っております。
どなたかご教示頂きたいと思います。よろしくお願い致します。

###スプレッドシートの詳細
C列:C3以降、問題番号
D列:D3以降、問題文
E〜H列:3行目以降、選択肢
I列:I3以降、模範解答
J列:J3以降、フィードバック(解説)
K列:K3以降、得点

発生している問題・エラーメッセージ

作成したgoogleフォーム上、「2つ選べ。」の問題の採点結果が「正解がありません」と表示されます。

該当のソースコード

function Makeform() {

var ActiveSheet = SpreadsheetApp.getActiveSheet();
var lastRow = ActiveSheet.getLastRow();
var lastColumn = ActiveSheet.getLastColumn();
var QQlist = [];
QQlist = ActiveSheet.getRange(3,4,lastRow-2,lastColumn-1).getValues();
Logger.log(QQlist);

var formTitle = ActiveSheet.getRange(1,5).getValue();
var form = FormApp.create(formTitle);
form.setIsQuiz(true);

for(var i = 0;i<QQlist.length;i++){
var choices;
var item = form.addCheckboxItem();
choices=[

item.createChoice(QQlist[i][1],QQlist[i][5]==1),
item.createChoice(QQlist[i][2],QQlist[i][5]==2),
item.createChoice(QQlist[i][3],QQlist[i][5]==3),
item.createChoice(QQlist[i][4],QQlist[i][5]==4),
];

Logger.log(choices);

item.setTitle([QQlist[i][0]]);
item.setChoices(choices);
item.setPoints(QQlist[i][7]);
item.setRequired(true);

item.setFeedbackForCorrect(FormApp.createFeedback().setText(QQlist[i][6]).build());
item.setFeedbackForIncorrect(FormApp.createFeedback().setText(QQlist[i][6]).build());
}
}

試したこと

似たような案件がないか調べてみましたが、該当するようなものは見つかりませんでした…
分からないなりにコードを書き換えたりもしましたが、実行できず終わりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問