利用google測驗收回來的學生資料兩百筆, 而且因為進行測驗時, 學生送出成績是隨機的, 要怎麼對應到我從校務系統下載的班級名單呢
底下為將工作表-名單中的st帳號與工作表-成績中的st帳號進行比對
只要找到成績中有答題者, 就把分數寫回名單中的第七欄位
這是個簡單但是很沒效率的方法, 如果兩個工作表各有100筆, 表示要比對100x100=10000次
所以如果跑太久跑不完, 必須成兩次或三次跑
畢竟google apps script 是有名的慢
怎麼拆呢, 最外圍的
for (let j = 3; j < 182; j++)
表示從第三列開始到第182列是學生名單, 分成
for (let j = 3; j < 100; j++) 跑第一次
for (let j = 100; j < 182; j++) 跑第二次
有更多筆 或是要拆成三次, 依此類推
function main() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheets()[0]; let sheet2 = ss.getSheets()[1]; for (let j = 3; j < 182; j++) { let st = sheet1.getRange(j, 5).getValue(); let name = sheet1.getRange(j, 4).getValue(); for (let i = 1; i < 100; i++) { let player = sheet2.getRange(i, 1).getValue(); if (player == st) { let scores = sheet2.getRange(i, 2).getValue(); // Logger.log(player + "," + name, "," + scores); sheet1.getRange(j,7).setValue(scores); } } } }