g_spreadsheet:randomly_nominate
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| g_spreadsheet:randomly_nominate [2022/10/01] – 外部編集 (不明な日付) 127.0.0.1 | g_spreadsheet:randomly_nominate [2026/06/23] (現在) – administrator | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ===== ランダムに指名 ===== | ||
| + | 授業でランダムに指名するためのスプレッドシート。 | ||
| + | {{: | ||
| + | |||
| + | Dispとtemporaryの2つのシートを作ります。temporaryは、一時的な書き込みをするものです。 | ||
| + | [リセット][次][前]のボタンは、図形描画で作り、それぞれ[reset][go_next][go_previous]を割り当てます。 | ||
| + | |||
| + | <code javascript> | ||
| + | var total; | ||
| + | var current; | ||
| + | var num=[]; | ||
| + | var flg=[]; | ||
| + | let sheet = SpreadsheetApp.getActiveSpreadsheet(); | ||
| + | let disp_sheet = sheet.getSheetByName(' | ||
| + | let temp_sheet = sheet.getSheetByName(' | ||
| + | |||
| + | function reset() { | ||
| + | total=disp_sheet.getRange(' | ||
| + | current=0; | ||
| + | |||
| + | for (i=1; | ||
| + | flg[i]=false; | ||
| + | } | ||
| + | |||
| + | for(i=1; | ||
| + | do { | ||
| + | let rand = Math.random(); | ||
| + | tnum = Math.floor(rand*total)+1; | ||
| + | if (flg[tnum]==false) { | ||
| + | flg[tnum]=true; | ||
| + | num[i]=tnum; | ||
| + | temp_sheet.getRange(i, | ||
| + | break; | ||
| + | } | ||
| + | } while (true); | ||
| + | |||
| + | } | ||
| + | temp_sheet.getRange(total+1, | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | } | ||
| + | |||
| + | function go_next() { | ||
| + | total=disp_sheet.getRange(' | ||
| + | current=disp_sheet.getRange(' | ||
| + | if(current< | ||
| + | tnum=temp_sheet.getRange(current, | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | } | ||
| + | |||
| + | function go_previous() { | ||
| + | total=disp_sheet.getRange(' | ||
| + | current=disp_sheet.getRange(' | ||
| + | if(current> | ||
| + | tnum=temp_sheet.getRange(current, | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | disp_sheet.getRange(' | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | </ | ||
g_spreadsheet/randomly_nominate.txt · 最終更新: by administrator
