準備
配列をシャッフルする関数を作成
function shuffle(array){
var result = [];
for(i = array.length; i > 0; i--){
var index = Math.floor(Math.random() * i);
var val = array.splice(index, 1)[0];
result.push(val);
}
return result;
}
使用例
スプレッドシートの内容が以下だとして、
メンバ | 当番 | |
---|---|---|
佐藤 | 朝礼 | |
鈴木 | 炊事 | |
高橋 | 点呼 | |
田中 | 掃除 | |
伊藤 | 風呂 |
以下のコードを実行すると、
function shuffleMembers(){
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
var ranges = sheet.getRange(2, 1, lastRow-1);
var values = ranges.getValues();
ranges.clear();
ranges.setValues(shuffle(values));
}
名前部分のみシャッフルされる
メンバ | 当番 | |
---|---|---|
高橋 | 朝礼 | |
鈴木 | 炊事 | |
佐藤 | 点呼 | |
伊藤 | 掃除 | |
田中 | 風呂 |